我试图获得永不过期的Facebook访问令牌,但我无法做到。这是我的步骤:
1)使用Facebook图形浏览器生成具有所需权限的短期访问令牌(此令牌有效1小时左右)
2)通过手动GET请求获取长期令牌(2个月到期时间) https://graph.facebook.com/oauth/access_token? grant_type = fb_exchange_token&安培; CLIENT_ID = [应用用户-id]安培; client_secret = [应用秘密-ID]安培; fb_exchange_token = [短版活存取令牌]
3)这个tohttps://graph.facebook.com/ [user-id]?fields = access_token& access_token = [long-live-access-token]
但最后一步显示错误:
{
"error": {
"message": "(#100) Tried accessing nonexisting field (access_token) on node type (User)",
"type": "OAuthException",
"code": 100,
"fbtrace_id": "DpmM6CyzoAt"
}
}
我已经在网上的某个地方找到了最后一步,所以我认为FB必须改变一些东西,我已经阅读了他们的api文档,但是我无法弄清楚他们有什么资源可以实现第3步。
有人可以解释一下如何获取永不过期的用户访问令牌吗?
谢谢
答案 0 :(得分:2)
用户令牌永远不会永久有效,扩展的用户令牌只有60天有效,因为您已经发现。我假设你想得到一个扩展页面令牌,你可以得到一个:
https://graph.facebook.com/[page-id]?fields=access_token&access_token=[long-live-user-token]
基本上,您只需要使用页面ID,它不能与用户ID一起使用。