扩展 Facebook 页面访问令牌
Posted
技术标签:
【中文标题】扩展 Facebook 页面访问令牌【英文标题】:Extending Facebook Page Access Token 【发布时间】:2012-04-28 08:14:55 【问题描述】:我需要扩展我的 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 那为什么......但是方式......
谢谢,
【问题讨论】:
我也希望facebook开发团队的人能提供适当的解决方案,因为我们现在面临同样的问题。 这里也一样。 FB API 就像大海捞针。 【参考方案1】:场景 5:页面访问令牌
当用户授予应用程序 manage_pages 权限时,应用程序能够 获取用户管理的页面的页面访问令牌 查询 [User ID]/accounts Graph API 端点。随着迁移 启用,当使用短期用户访问令牌查询此 端点,获得的页面访问令牌也是短暂的。
将短期用户访问令牌交换为长期访问 使用前面解释的端点和步骤的令牌。通过使用 长期用户访问令牌,查询 [User ID]/accounts 端点 现在将为以下页面提供不会过期的页面访问令牌 用户管理。这也适用于使用非过期查询 通过已弃用的 offline_access 获取的用户访问令牌 权限。
https://developers.facebook.com/roadmap/offline-access-removal/
【讨论】:
【参考方案2】:要获得长期访问令牌,您需要执行以下步骤:
-
创建应用程序
创建页面(您的帐户需要是页面的“管理员”)
将应用程序关联到页面(与将页面选项卡添加到页面时的方法相同)
http://facebook.com/add.php?api_key=*YOUR_APP_ID*&pages=1&page=*YOUR_PAGE_ID*
使用与您的应用程序关联的权限“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__
将 Graph API Explorer 与请求 /me/accounts 一起使用,您可以查看您作为管理员的每个页面的访问令牌。问题是这些访问令牌是短暂的。
将您的短期访问令牌转换为长期(扩展访问令牌):
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_
您现在可以使用Access Token Debugger 测试您的新访问令牌。
【讨论】:
问题:我的应用不是“标签应用”我如何关联它? @siniradam 使用此网址:facebook.com/add.php?api_key=*YOUR_APP_ID*&pages=1&page=*YOUR_PAGE_ID* 谢谢。顺便说一句,昨天我发现如果我向 /me/accounts 发送带有长期令牌的请求,列表返回带有长期令牌。我已经对此进行了测试:developers.facebook.com/tools/debug/access_token?q= 嘿@FR6 只是想对一步一步的表示感谢,过去两天我在这方面投入了相当多的时间,本指南非常有效。 如何将您的应用程序与页面关联?以上是关于扩展 Facebook 页面访问令牌的主要内容,如果未能解决你的问题,请参考以下文章