无法使用facebook图形API获取长期访问令牌
我是新手,将Facebook整合到我正在工作的网站中,并尝试按照以下说明获取长期访问令牌:https://developers.facebook.com/docs/facebook-login/access-tokens/即使在此处使用图形API资源管理器:https://developers.facebook.com/tools/explorer/我输入以下内容并使用我的AppID和AppSecret填充以及当我按Get Access Token时获得的当前令牌...
GET / oauth / access_token?
grant_type = fb_exchange_token&
client_id = {app-id}&client_secret = {app-secret}&fb_exchange_token = {short-lived-token}
我得到回报
{“error”:“无效的回复”}
有人可以详细说明我可能做错了什么,或者有更详细的步骤可以帮助你获得这个长期的标记。
我试图关注这个线程中发生的事情Facebook页面访问令牌 - 这些过期了吗? 没有更多的成功。 任何帮助将不胜感激。
感谢您的时间和帮助。 干杯,
-Ryan
您无法使用Graph API Explorer
获取long-lived user token
。 您必须发出GET
请求才能:
https://graph.facebook.com/oauth/access_token?
grant_type=fb_exchange_token&
client_id={app-id}& client_secret={app-secret}& fb_exchange_token={short-lived-token}
你可以在浏览器中检查它。
如果您需要page access token
,则可以拥有永不过期的令牌。 查看这里接受的答案:获取持久令牌用于从服务器发布到Facebook粉丝页面的步骤是什么
所以我想我会重新考虑这一点,并提供我写的文档,希望能够帮助别人实现这一点!
一个 。 创建应用程序
创建与您想要访问的页面的用户关联的应用程序。
两个 。 获取所需的信息片段
创建应用程序后,我们应该有两个关键信息:
应用程序ID:AAAAA(应该约为15个字符)
应用程序的秘密:BBBBB(应该是约32个字符长)
通过访问https://developers.facebook.com/tools/explorer,确保从顶部的下拉框中选择正确的应用程序。
点击获取访问令牌并获得'新鲜'令牌。
在这里您需要为您的特定应用程序的目的选择适当的权限。
CCCCC(应该大约200个字符)
三 。 获取长寿命令牌(2个月)
然后,您应该拥有运行查询以获取长期(2个月)令牌所需的信息:
https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id={app-id}&client_secret= {app-secret}&fb_exchange_token = {short-lived-token}
将{app-id},{app-secret}和{short-lived-token}替换为您目前记录的三位信息。
你应该得到如下的请求:
https://graph.facebook.com/oauth/access_token?%20grant_type=fb_exchange_token&%20client_id=AAAAA&%20client_secret=BBBBB&%20fb_exchange_token=CCCCC
将此查询放入Internet浏览器的url栏中。 您应该在窗口中看到类似以下内容的回复:
=的access_token&DDDDD到期= 5184000
DDDDD(应该大约200个字符)
四 。 测试令牌(第1部分)
如果您将突出显示的部分输入到以下调试站点的输入中:
https://developers.facebook.com/tools/debug/
它应该给你约2个月的期限。
五 。 获取非过期的页面标记
现在注意到这个新的长实时令牌,我们将使用它来获取不会过期的令牌,除非相关应用程序从用户访问权限中删除或删除。 在提出请求时我们使用页面名称或最好使用page-id:
您可以使用类似http://findmyfacebookid.com/的方式获取您的Facebook页面ID。我们将您的页面ID称为EEEEE
https://graph.facebook.com/{page-id}/?fields=access_token&access_token={long-live-token}
你应该得到如下的请求:
https://graph.facebook.com/EEEEE/?fields=access_token&access_token=DDDDD
这将返回如下内容:{“access_token”:“FFFFF”,“id”:“131062838468”}
FFFFF(应该大约200个字符)
六 。 测试令牌(第2部分)
选中突出显示的部分并将其输入到调试页面,您应该看到显示该令牌永不过期的内容,并且您已成功获取永不过期的页面令牌。
SEVEN 。 举手击掌!
对不起,如何实现这一目标的长长的清单,但我觉得更好的是给整个过程,而不是一个小的片段。 让我知道如果你觉得这有帮助,或者你有更好的方法来实现任何步骤。
Facebook PHP SDK已经实现了使用短命令令牌获得长寿命令牌的方法,在登录成功并获得短暂令牌后,简单调用
$result = $facebook->setExtendedAccessToken();
如果$ result为null,则意味着您获得了长期存取令牌。
链接地址: http://www.djcxy.com/p/32589.html上一篇: Unable to get a long term access token using facebook graph api