页面的 Facebook 访问令牌


Facebook access token for page

我的问题是如何从 SDK 5 或手动制作访问令牌?当我从资源管理器Grapth工具生成它时,它的工作。但它在 60 天后到期。我想为每个页面加载生成 ir,或者类似的东西。我只想获取页面:new_like_count...

这是我使用 SDK 5 的代码:

// FACEBOOK PAGE LIKES
    $fb = new Facebook([
        'app_id' => config('facebook.app.id'),
        'app_secret' => config('facebook.app.secret'),
        'default_graph_version' => 'v2.5'
    ]);
    $app = new FacebookApp(
        config('facebook.app.id'),
        config('facebook.app.secret')
    );
    $request = new FacebookRequest(
        $app,
        config('facebook.access_token'),
        'GET',
        '/me/?fields=new_like_count'
    );
    $response = $fb->getClient()->sendRequest($request);
    //dd($response);
    $view['facebook_likes'] = $response->getGraphNode()['new_like_count'];

附言我是新手。所以我需要一些帮助:)

您可以使用 facebook SDK 的方法获取 facebook 访问令牌getAccessToken()

$pageId = 'xxxxxxxxxxxxxxx'; // put your page id here
$page_info = $fb->api("/$pageId?fields=access_token"); // page info in array
echo 'access token : '. $page_info['access_token']; // get access token from array

echo 'access token : '. $access_token = $fb->getAccessToken(); // get access token directly

它有效:

// FACEBOOK PAGE LIKES
    $fb = new Facebook([
        'app_id' => config('facebook.app.id'),
        'app_secret' => config('facebook.app.secret'),
        'default_graph_version' => 'v2.5'
    ]);
    $response = $fb->get(
        config('facebook.page.id').'/?fields=likes',
        $fb->getApp()->getAccessToken()->getValue()
    );
    $view['facebook_likes'] = $response->getGraphNode()['likes'];

我唯一改变的是:

config('facebook.page.id').'/?fields=new_like_count',

config('facebook.page.id').'/?fields=likes',

我意识到:当用户登录并具有权限时,可以访问受页面保护的内容。