6/1/17

[Ứng dụng PHP] Lấy feed post fanpage facebook với facebook api sdk php

Giới thiệu qua về bài viết này:

Đã lâu rồi không ngồi viết bài, hôm nay sự trở lại của mình mình sẽ hướng dẫn anh em cách lấy bài viết trên fans page facebook. Sau bài viết này bạn có thể làm nhiều hơn với facebook api sdk php như bạn có thể: Post bài lên facebook, lấy ảnh, lấy thông tin user facebook,..

Oki giới thiệu qua bài viết “How to get all feeds of my fanpage in facebook using facebook api” dịch nó ra là “cách lấy bài viết trên fanpage facebook sử dụng facebook api“. Lý do vì sao lại phải dùng facebook api vì cách làm lấy facebook qua rss format R20 đã cũ rồi và facebook đã chặn không cho lấy tin như thế nữa. Anh em phải chuyển qua dùng API để lấy nhé.

Bài viết gồm các bước sau:

Bước 1: Tạo 1 app trên facebook: (bài sau mình sẽ hướng dẫn cách tạo app bài này giả định các bạn đã có app trên facebook rồi nhé)

Bước 2: Lấy các thông tin như : App ID, App Secret cái này dễ nên chỉ cần nhìn ảnh là hiểu thôi.

Bước 3: Làm theo hướng dẫn trong code mình demo nhé là okie.

Bước 4: Ngồi tận hưởng thành quả đạt được.

Bắt đầu thực thiện:

Bước 1: Tạo 1 app trên facebook: (bài sau mình sẽ hướng dẫn cách tạo app bài này giả định các bạn đã có app trên facebook rồi nhé)

Okie cái này như mình đã nói để bài tiếp theo mình sẽ hướng dẫn còn tạm thời giả định các bạn đã có tài khoản facebook và tạo thành công 1 app trên facebook rồi nhé.

Bước 2: Lấy các thông tin như : App ID, App Secret cái này dễ nên chỉ cần nhìn ảnh là hiểu thôi.

Các bạn hãy nhìn ảnh bên dưới nhé sẽ hiểu thôi cái này đơn giản

App ID and App Secret facebook app

Như ảnh trên giả sử app của mình là “Login demo” nhé và các bạn để ý sẽ thấy ngay bên dưới nó là App ID and App Secret facebook app. Các bạn nhớ lưu thông tin này lại nhé.

Bước 3: Làm theo hướng dẫn trong code mình demo nhé là okie.

Hướng dẫn 1 này dành cho bạn nào dùng Facebook PHP SDK (v.3.2.2) nhé:

Chú ý: Các bạn phải download Facebook SDK 3.2.3 về trước nhé. Các bạn có thể download tại đây:

https://github.com/facebookarchive/facebook-php-sdk

<?php
$app_id             = '909173739107879';  //Facebook App ID đây chính là App ID như trên ảnh nhé
$app_secret         = 'd68039d753c1fd614d788b9d8701ee44'; //Facebook App Secret Đây là App Secret của cái app của login demo của mình
// mình lấy đại cái fanpage này https://www.facebook.com/fanpagengoalong?ref=ts&fref=ts và tìm được ID của tương ứng là [200364423372482]. Các bạn có thể tìm ID fanpage tại đây nhé: http://findmyfbid.com/
$facebookPageId = '200364423372482';

//include autoload.php from SDK folder, just point to the file like this:
require_once __DIR__ . "/facebook-php-sdk/src/facebook.php";

$facebook = new Facebook(array(
    'appId'  => $app_id,
    'secret' => $app_secret
));

$pageProfile = $facebook->api($facebookPageId);
$result   = $facebook->api($facebookPageId . '/feed',array('fields'=>'message,created_time,updated_time','limit' => 6));

echo 'My Page wall';
echo "<pre>";
print_r($result);
echo "</pre>";
//die;
?>

Hướng dẫn 2 này dành cho bạn nào dùng Facebook PHP SDK (v.4) nhé:

Chú ý: Các bạn cũng nhớ phải download PHP SDK V.4 về trước nhé. Các bạn có thể download tại đây nhé: https://github.com/facebook/facebook-php-sdk-v4

Sau đó copy đoạn code này và chạy để tận hưởng kết quả hi hì ^^

<?php

$app_id             = '909173739107879';  //Facebook App ID
$app_secret         = 'd68039d753c1fd614d788b9d8701ee44'; //Facebook App Secret
$facebookPageId    = '200364423372482';

//include autoload.php from SDK folder, just point to the file like this:
require_once __DIR__ . "/facebook-php-sdk-v4/autoload.php";

//import required class to the current scope
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRedirectLoginHelper;

FacebookSession::setDefaultApplication($app_id, $app_secret);
$session = FacebookSession::newAppSession($app_id, $app_secret);

try {
  $session->validate();
} catch (FacebookRequestException $ex) {
  // Session not valid, Graph API returned an exception with the reason.
  echo $ex->getMessage();
} catch (\Exception $ex) {
  // Graph API returned info, but it may mismatch the current app or have expired.
  echo $ex->getMessage();
}

try {
$request = new FacebookRequest(
 $session,
 'GET',
 '/'.$facebookPageId.'/feed',
 array('fields'=>'link,full_picture,message','limit' => 40)
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
/* handle the result */
    //do stuff below, save user info to database etc.
    $result = $graphObject->asArray();
/*for($i=0;$i<count($result['data']);$i++){
echo $result['data'][$i]->message;

echo "<br><br><br>";
}*/
} catch (FacebookRequestException $ex) {
  echo $ex->getMessage();
} catch (\Exception $ex) {
  echo $ex->getMessage();
}

?>

Chúc các bạn thành công!

0 nhận xét: