使用PHP SDK 4获取Facebook页面的最后5篇帖子

时间:2014-10-16 16:10:24

标签: php facebook facebook-graph-api facebook-php-sdk

我希望使用PHP SDK 4获得页面的最后5篇帖子。我已经厌倦了这种方式

<?php
    session_start();
    // added in v4.0.0
    require_once 'autoload.php';
    use Facebook\FacebookSession;
    use Facebook\FacebookRedirectLoginHelper;
    use Facebook\FacebookRequest;
    use Facebook\FacebookResponse;
    use Facebook\FacebookSDKException;
    use Facebook\FacebookRequestException;
    use Facebook\FacebookAuthorizationException;
    use Facebook\GraphObject;
    use Facebook\Entities\AccessToken;
    use Facebook\HttpClients\FacebookCurlHttpClient;
    use Facebook\HttpClients\FacebookHttpable;

    FacebookSession::setDefaultApplication( 'app_id','app_secret' );
    $session = new FacebookSession('access_token');

    $request = new FacebookRequest(
      $session,
      'GET',
      'page_id'
    );
    $response = $request->execute();
    $graphObject = $response->getGraphObject();
?>

我如何找到ACCESS TOKEN并获得最近的帖子?

2 个答案:

答案 0 :(得分:2)

您可以使用App Acess令牌:

$access_token = APPID . '|' . APPSECRET;

...但你不需要自己生成它,我认为你只需要调用feed端点 - 并包含限制只能获得最后5个条目:

$request = new FacebookRequest(
    $session,
    'GET',
    '/page_id/feed?limit=5'
);

来源:https://developers.facebook.com/docs/graph-api/reference/v2.1/page/feed

未经用户授权,SDK应使用App Access令牌。请记住,这仅适用于已发布的页面。未发布的页面只能使用页面令牌(或页面管理员的用户令牌)读取。有些页面受年龄或国家限制,您也无法使用App Token。

答案 1 :(得分:1)

您还可以像这样获取访问令牌:

$session = FacebookSession::newAppSession();    
$access_token = $session->getAccessToken();
$session = new FacebookSession($access_token);