Facebook访问令牌"永不过期"

时间:2015-09-29 15:36:05

标签: facebook access-token

我试图获得永不过期的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步。

有人可以解释一下如何获取永不过期的用户访问令牌吗?

谢谢

1 个答案:

答案 0 :(得分:2)

用户令牌永远不会永久有效,扩展的用户令牌只有60天有效,因为您已经发现。我假设你想得到一个扩展页面令牌,你可以得到一个:

https://graph.facebook.com/[page-id]?fields=access_token&access_token=[long-live-user-token]

基本上,您只需要使用页面ID,它不能与用户ID一起使用。