Hướng dẫn post status và photo lên Fanpage sử dụng Facebook SDK

Facebook có cung cấp API để chúng ta có thể post status hoặc hình ảnh lên trang cá nhân hoặc Fanpage của mình.

Ở đây mình hướng dẫn đăng status lên Fanpage, đối với Facebook cá nhân cũng làm tương tự

Đầu tiên bạn cần làm là tải version Facebook SDK mới nhất về, ở đây mình dùng phiên bản 5.4

Các bạn có thể tải ở link sau

https://github.com/facebook/php-graph-sdk/tree/5.4

Sau khi tải về, bạn giải nén và include file Facebook/autoload.php vào code:
require_once(“Facebook/autoload.php”);
Bạn cần tạo 1 Page, và lấy ID của Page, để lấy ID page, vào Tab About -> Page info .
Sau đó bạn cần tạo 1 ứng dụng để lấy app-idapp-secret, để tạo app các bạn vào link sau:
https://developers.facebook.com/quickstarts/?platform=web
Sau khi tạo xong, bạn sẽ có được App-IDApp-Serect (Lưu ý: Nhớ để App ở chế độ Public)
có dạng như sau:
$app_id = ‘59688441043xxxx‘;
$app_secret= ‘629c344960c85c3ef13397b04ff4xxxx‘;

Sau khi hoàn thành bước này, bạn cần tạo 1 Page_access_token, token này như chiếc chìa khóa để bạn có thể đăng bài viết.
Để tạo Access Token, các bạn làm như sau:
https://developers.facebook.com/tools/explorer/

access

Chỗ Access Token, bạn chọn tên Ứng dụng vừa mới tạo
Chỗ Get Token, bạn chọn Get Page Access Token, Facebook sẽ trả về 1 Token cho chúng ta, có dạng như sau:
EAAIe3PtBjMgBAOp2fkbVfcSDRHJwWah80bu0fb31xxxxxxxxxxxxxxxxxxxx……

Vậy là đã chuẩn bị đủ tất cả công cụ, giờ phần code chúng ta làm như sau, thay lại $page_id, $app_id, $app_secret cho đúng

require_once("Facebook/autoload.php");
$config = array(
'app_id' => $app_id,
'app_secret' => $app_secret,
'default_graph_version' => 'v2.2',
);
$fb = new Facebook\Facebook($config);

$data = [
'message' => 'This is my Photo',
'source' => $fb->fileToUpload('D://p4.png'),
];
try {
// Returns a `Facebook\FacebookResponse` object
$response = $fb->post('/'.$page_id.'/photos', $data, $page_access_token);
$graphNode = $response->getGraphNode();
echo 'Success!!! Photo ID: ' . $graphNode['id'];
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}

capturesss

Nếu không thấy lỗi gì trả về có nghĩa là thành công rồi nha.

Vậy là xong, chúc các bạn may mắn 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *