简体   繁体   中英

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

I want to get last 5 post post of a page using PHP SDK 4. I have tired to initial this way

<?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();
?>

How i can find ACCESS TOKEN And get the recent post?

You can use an App Acess Token for that:

$access_token = APPID . '|' . APPSECRET;

...but you don´t need to generate it on your own, i think you just need to do a call to the feed endpoint - and include the limit to only get the last 5 entries:

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

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

Without user authorization, the SDK should use an App Access Token. Keep in mind that this will only work for published Pages. Unpublished Pages can only be read with a Page Token (or a User Token of a Page Admin). And some Pages are age or country restricted, you can´t use an App Token for them either.

You can also obtain your access token like this:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM