Long Lived访问令牌Facebook页面

时间:2013-01-08 06:51:14

标签: facebook facebook-graph-api facebook-access-token

我有一个Facebook页面,我想要页面的提要。 我使用graph api来获取访问令牌,但我不知道如何将该短期访问令牌转换为长期访问令牌

 https://graph.facebook.com/oauth/access_token?
 client_id=APP_ID& client_secret=APP_SECRET& grant_type=fb_exchange_token& fb_exchange_token=EXISTING_ACCESS_TOKEN

如果上面的链接用于获取长期访问令牌,那么我可以从中获取App_Secret
如果我采取错误的做法,请帮助我。

2 个答案:

答案 0 :(得分:12)

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

  1. 创建应用程序

  2. 创建一个页面(您的帐户必须是该页面的“管理员”)

  3. 将应用程序与页面关联(就像您在执行此操作时一样) 您想要将页面标签添加到页面

  4. 获取具有“manage_pages”权限的短期访问令牌 与您的申请相关联。

  5. https://graph.facebook.com/oauth/authorize?client_id=APP_ID&scope=manage_pages&redirect_uri=http://www.facebook.com/connect/login_success.html

  6. 然后         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

  7. 您可以使用带有请求/我/帐户的Graph API资源管理器 查看您是管理员的每个页面的访问令牌。     问题是那些访问令牌是短暂的。

  8. 将您的短期访问令牌转换为长期访问令牌(扩展版) 访问令牌):

  9. 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_

    您现在可以使用访问令牌调试器测试新的访问令牌。

答案 1 :(得分:11)

  1. 首先,从here

  2. 了解基本概念和不同类型的访问令牌
  3. 要获取扩展的用户令牌(有效期:2个月),请使用您在问题中提到的代码。

    您可以从Apps页面获取应用程序密码。

  4. 粉丝页面获取永不过期的令牌。按照简单的步骤:

    • 使用您在步骤2中获得的用户令牌,获取页面/应用列表 -

      $facebook->api("/USER_ID/accounts"); 
      
    • 获取任何页面的永不过期的访问令牌 -

      $facebook->api("/PAGE_ID?fields=access_token");
      
  5. (您可以使用Facebook's Debug Tool检查令牌的有效性。)