Xin chào mọi người , sau một thời gian vắng bóng thì đã trở lại vì cảm giác trống vắng mỗi khi ghé Blog của mình 🙁 . Bài viết hôm nay sẽ hướng dẫn các bạn sử dụng lấy link Private của Video Facebook trên trang cá nhân của mình .

Có nghĩa là như thế nào ?

Việc sử dụng Facebook làm nơi lưu trữ Video hầu như không còn gì xa lạ với các bác làm Phim , từ việc không còn lo lắng về băng thông , dung lượng hay thậm chí không lo phải die link như Google Drive hay các Server khác .

Dĩ nhiên cái gì cũng có cái giá của nó , việc đăng Video bản quyền, xxx,… lên Facebook là nghiêm cấm và sẽ bị gỡ bỏ nội dung sau đó . Vậy làm thế nào để những Video này không bị kiểm soát hoặc bị phát hiện bản quyền?

Chúng ta đều biết , khi chúng ta upload một ảnh , đoạn phim , status ,… đều có thể tự điều chỉnh quyền riêng tư cho những bài viết đó .

Bằng cách này (hầu như) các Video Phim , Trailer,… đều (có thể) không bị kiểm soát nội dung và thoải mái GET LINK thông qua Graph API

Vậy làm thế nào để sử dụng Graph API để lấy thông tin từ những Video này ? Hãy theo dõi tiếp dưới đây nhé .

Nhưng trước hết hãy xem qua Demo của một Video Anime phim Boruto ( Bản quyền) mình đã upload cách đây 1 tuần và chỉnh ở trạng thái Only Me

Demo Online
  1. Các yêu cầu cần thiết
  2. Tạo ứng dụng và lấy Access Token
  3. Viết Code và tích hợp

1.Những thông tin và yêu cầu cần thiết

Hãy xem chúng ta cần những gì nào :

  1. Một Video bản quyền,xxx ( ( ͡° ͜ʖ ͡°) ) . Ở đây mình sẽ dùng Video Anime bản quyền là Boruto của Vuighe.Net
  2. Một ứng dụng trên https://developers.facebook.com/
  3. Một vài đoạn code nho nhỏ để kết nối và tách source của video.

Vì để có thể GET được link của Video trên Facebook sau khi đăng thì cần phải kết nối qua Graph API , các bạn có thể tham khảo tại :

https://developers.facebook.com/docs/graph-api/reference/v3.1/video/

Và để sử dụng được thì chúng ta cần :

  1. ID của Video sau khi đăng
  2. Access_token của người đăng

Trước hết , chúng ta hãy đi qua bước tạo ứng dụng trên https://developers.facebook.com/ nhé , vì bước này dài nhất ,các bước kia thì đơn giản hơn.

2.Tạo ứng dụng và lấy Access Token

Đầu tiên , hãy truy cập vào https://developers.facebook.com/ . Ở góc trên bên phải , bạn sẽ thấy có nút tạo Ứng dụng , hãy tạo một ứng dụng với những thông tin cơ bản nhất .

Sau khi hoàn tất tạo ứng dụng , hãy thêm những thông tin ở phần Cài đặt > Thông tin cơ bản , Vì các bước này rất đơn giản nên mình không để hình hướng dẫn .

Tiếp đến , hãy đến mục Xét duyệt ứng dụng , chuyển trạng thái sang Trực tiếp

Sau khi chuyển trạng thái , hãy vào : https://developers.facebook.com/tools/explorer/ để lấy Access Token của bạn .

Chọn ứng dụng bạn vừa tạo ở Ứng dụng[?] và ở phần lấy mã chọn là Lấy mã truy cập người dùng

Tích hết tất cả các mục trong Modal ( hoặc để mặc định ) .

Sau bước này , bạn sẽ có đươc một đoạn mã Access Token xuất hiện trên thanh Mã truy cập , Nhấn vào Nút (!) để xem thông tin.

Vì Access Token này sẽ có thời gian tồn tại rất ngắn , nên chúng ta cần phải làm thêm bước này để tăng thời hạn của Access Token lên cao hơn .

Nhấn nút Mở trong Công cụ tạo mã truy cập

Ban sẽ thấy được thông tin của Access Token một lần nũa 😀 . Tiếp đến ấn nút : Mã truy cập mở rộng

Bạn sẽ nhận được một Access Token mới toanh với thời hạn bao dùng ( 2 tháng :> ).

OK , thế là bạn đã có thể biết được các bước để lấy được Access Token rồi đấy, có thể thực hiện nhiều lần và nhiều Ứng dụng .

 

3. Viết code và tích hợp vào JW Player

Cấu trúc lấy link từ Graph API của rất đơn giản , đầu tiên các bạn hãy xem qua tài liệu trực tiếp của Facebook tại : https://developers.facebook.com/docs/graph-api/reference/v3.1/video/

Cấu trúc :

GET : https://graph.facebook.com/VIDEO-ID/?fields=picture,source&access_token=ACCESS-TOKEN

Trong đó :

VIDEO-ID : Là ID của Video sau khi đăng , nó có dạng như sau : https://www.facebook.com/tran.trung.2230/videos/383866272142625/ => Dãy số cuối chính là VIDEO-ID

ACCESS-TOKEN : là mã Access Token đã có được ở các bước trên.

 

Vậy bây giờ , hãy tìm kiếm hoặc đăng một Video nào đó rồi dùng ID này và Access Token copy link phía trên , thay đổi các thông số thử xem nhé :

Kéo xuông phía dưới , bạn sẽ thấy :

picture : là ảnh Thumbnail của Video

source : chính là link chúng ta cần để sử dụng cho việc tích hợp

Sử dụng PHP cURL đơn giản để tách và bóc source,picture ra khỏi JSON :

get.php

<?php
/* Share on httzip.com 
 *
 */

$token = "TOKEN CUA BAN"; // Paste Access Token của Video vào đây
function getVideo($id)
{
	global $token;
	$curl = curl_init();
	curl_setopt_array($curl, array(
		CURLOPT_URL => "https://graph.facebook.com/".$id."/?fields=source,picture&access_token=".$token,
		CURLOPT_RETURNTRANSFER => true,
		CURLOPT_TIMEOUT => 0,
		CURLOPT_SSL_VERIFYPEER => false,
		CURLOPT_SSL_VERIFYHOST => false
	));
	$get = curl_exec($curl);
	curl_close($curl);
	$decode = json_decode($get,JSON_UNESCAPED_UNICODE);
	$data = ["link"=>$decode["source"],"img"=>$decode["picture"]];

	return isset($decode["source"]) ? json_encode($data) : "Lỗi";
}

	echo getVideo("VIDEO-ID"); // Paste ID của Video vào đây

Hãy thay các thông số trên bằng của bạn , kết quả có được sẽ là :

{
 "link" : "Link của Video ",
 "img: "Ảnh của Video"
}

Bạn có thể custom lại sau cho phù hợp với mình .

Sau khi đã có được Source của video , hãy tích hợp vào JW Player như yêu cầu của bạn binh yen 

index.html

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
    <script src="https://content.jwplatform.com/libraries/rI5FHjdp.js"></script>
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>

    <title>Demo - JW Player with Private Facebook Video</title>
  </head>
  <body>
    <div id="mediaplayer"></div>
    <script type="text/javascript">
  function initPlayer(url,pic)
  {
     jwplayer("mediaplayer").setup({
    "file": url,
    "image": pic,
    "height": "auto",
    "width": "100%",
     "autostart": false,
    "cast": {},
    "mute": false
  });

  }
  setTimeout(function(){

   $.ajax({
              url: 'get.php',       
              data: "", 
              dataType: 'json', 
              success: function (data) {
                 if(data != "")
                 {
                  initPlayer(data.link,data.img);
              }
              else
              {  }
      }
  });
  },1000);


</script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
  </body>
</html>

Trong đó :

jwplayer("mediaplayer").setup({
    "file": url,
    "image": pic,
    "height": "auto",
    "width": "100%",
     "autostart": false,
    "cast": {},
    "mute": false
  });

Là function Setup mặc định của JW Player , xem thêm 

Ajax của Jquery để gọi file get.php

Và cuối cùng là đoạn:

function initPlayer(url,pic)
  {
     jwplayer("mediaplayer").setup({
    "file": url,
    "image": pic,
    "height": "auto",
    "width": "100%",
     "autostart": false,
    "cast": {},
    "mute": false
  });

  }
  setTimeout(function(){

   $.ajax({
              url: 'get.php',       
              data: "", 
              dataType: 'json', 
              success: function (data) {
                 if(data != "")
                 {
                  initPlayer(data.link,data.img);
              }
              else
              {  }
      }
  });
  },1000);

Chúng ta sẽ sử dụng data response của Ajax để truyền vào cho initPlayer của JW Player ( xem thêm )

Như vậy là đã hoàn tất .

 

Tùy mục dích sử dụng của các bạn mà có thể custom lại theo ý thích nhé . Bài viết này không có gì cao siêu , nhưng hy vong có thể giúp ích được cho các bạn trong việc tích hợp Video, phim,… vào Website của mình , sắp tới đây sẽ có thêm vài bài viết liên quan đến chủ đề này . Các bạn hãy theo dõi thường xuyên nhé 😀 .