扩展Facebook页面访问令牌

时间:2012-04-17 00:43:04

标签: facebook access-token

我需要扩展我的facebook访问令牌,我称之为:

https://graph.facebook.com/oauth/access_token? 
client_id={MY PAGE ID}&
client_secret={THE SECRET KEY OF MY APP}&
grant_type=fb_exchange_token&
fb_exchange_token={AN ACCESS TOKEN FOR MY PAGE}

我收到了这个错误:

   "error": {
      "message": "Error validating application. Cannot get application info due to a system error.",
      "type": "OAuthException",
      "code": 101
   }

我已经看到了access_token的很多问题,但没有相对于页面的回答,idk为什么facebook使用api为什么......但是方式......

谢谢,

2 个答案:

答案 0 :(得分:21)

要获得长期访问令牌,您需要按照以下步骤操作:

  1. 创建应用程序
  2. 创建一个页面(您的帐户必须是该页面的“管理员”)
  3. 将应用程序与页面关联(当您想要将页面选项卡添加到页面时,就像执行此操作一样)

    http://facebook.com/add.php?api_key=*YOUR_APP_ID*&pages=1&page=*YOUR_PAGE_ID*
    
  4. 使用与您的应用程序关联的权限“manage_pages”获取一个短期访问令牌。

    https://graph.facebook.com/oauth/authorize?client_id=__APP_ID__&scope=manage_pages&redirect_uri=http://www.facebook.com/connect/login_success.html
    then
    https://graph.facebook.com/oauth/access_token?client_id=__APP_ID__&redirect_uri=http://www.facebook.com/connect/login_success.html&client_secret=__APP_SECRET__&code=__CODE_FROM_PREVIOUS_REQUEST__
    
  5. 将Graph API资源管理器与请求/me/accounts一起使用,您可以看到您是管理员的每个页面的访问令牌。问题是那些访问令牌是短暂的。

  6. 将短期访问令牌转换为长期存取(扩展访问令牌):

    https://graph.facebook.com/oauth/access_token?client_id=_APP_ID_&client_secret=_APP_SECRET_&grant_type=fb_exchange_token&fb_exchange_token=_ACCESS_TOKEN_ON_STEP_4_
    
  7. 您现在可以使用Access Token Debugger测试新的访问令牌。

答案 1 :(得分:2)

  

场景5:页面访问令牌

     

当用户授予应用manage_pages权限时,该应用就可以了   获取用户管理的页面的页面访问令牌   查询[用户ID] /帐户图谱API端点。随着迁移   启用时,使用短期用户访问令牌进行查询   端点,获得的页面访问令牌也是短暂的。

     

交换短期用户访问令牌以进行长期访问   使用端点的令牌和前面解释的步骤。通过使用   长期用户访问令牌,查询[用户ID] /帐户端点   现在将提供页面访问令牌,这些令牌不会过期   用户管理。查询非过期时也适用   通过已弃用的offline_access获取的用户访问令牌   权限。

https://developers.facebook.com/roadmap/offline-access-removal/