在PHP SDK中不返回facebook页面access_token

时间:2015-06-08 20:25:26

标签: facebook access-token

目前我正在开发一个新的Facebook应用程序,允许用户发布到他们的页面。 Facebook团队批准了manage_pages& publish_actions权限。现在问题是应用程序没有获取页面的access_token。查询/user-id/accounts时,没有任何内容返回。

2 个答案:

答案 0 :(得分:0)

要获取网页访问令牌,您需要先从获取用户访问令牌询问manage_pages权限开始。获得用户访问令牌后,您就可以通过Graph API获取页面访问令牌。

之后才能查询

GET /{user-id}/accounts

你会得到这样的结果:

{
  "data": [
    {
      "category": "Product/service",
      "name": "Sample Page",
      "access_token": "{access-token}",
      "id": "1234567890",
      "perms": [
        "ADMINISTER",
        "EDIT_PROFILE",
        "CREATE_CONTENT",
        "MODERATE_CONTENT",
        "CREATE_ADS",
        "BASIC_ADMIN"
      ]
    }, 
}

了解更多https://developers.facebook.com/docs/facebook-login/access-tokens#pagetokens

答案 1 :(得分:0)

我为此问题应用了修复程序..我希望它的正确方法

$session = new FacebookSession( 'user-token' );

$accessToken = $session -> getAccessToken( );

$longsession = $longLivedAccessToken = $accessToken -> extend( );

$session = new FacebookSession( $longsession );

$request = new FacebookRequest( $session, 'GET', '/me/accounts' );

$pageList = $request -> execute( ) -> getGraphObject( ) -> asArray( );

然后我存储了永久页面" access_token"在数据库中供离线使用。