使用PHP SDK 4获取facebook页面的最后5个帖子


Get last 5 posts of a facebook page using PHP SDK 4

我想使用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并获得最近的帖子?

您可以使用应用程序Acess令牌:

$access_token = APPID . '|' . APPSECRET;

但你不需要自己生成它,我认为你只需要调用提要端点-并包括只获取最后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 Token。请记住,这只适用于已发布的页面。未发布的页面只能使用页面令牌(或页面管理员的用户令牌)读取。有些页面有年龄或国家限制,您也不能使用应用程序令牌。

您还可以获得如下访问令牌:

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