Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook访问令牌,带有;永不过期”;_Facebook_Access Token - Fatal编程技术网

Facebook访问令牌,带有;永不过期”;

Facebook访问令牌,带有;永不过期”;,facebook,access-token,Facebook,Access Token,我正在尝试获取一个永不过期的Facebook访问令牌,但我无法做到这一点。以下是我的步骤: 1) 使用Facebook graph explorer生成具有所需权限的短实时访问令牌(此令牌的有效期约为1小时) 2) 通过手动获取请求获取长寿令牌(2个月到期时间) ? grant\U type=fb\U交换\U令牌& 客户端\u id=[app client id]&客户端\u secret=[app secret id]&fb\u交换\u令牌=[short-live访问令牌] 3) 这个toht

我正在尝试获取一个永不过期的Facebook访问令牌,但我无法做到这一点。以下是我的步骤:

1) 使用Facebook graph explorer生成具有所需权限的短实时访问令牌(此令牌的有效期约为1小时)

2) 通过手动获取请求获取长寿令牌(2个月到期时间) ? grant\U type=fb\U交换\U令牌& 客户端\u id=[app client id]&客户端\u secret=[app secret id]&fb\u交换\u令牌=[short-live访问令牌]

3) 这个tohttps://graph.facebook.com/[用户id]?字段=访问令牌&访问令牌=[长寿访问令牌]

但最后的步骤显示了一个错误:

{
  "error": {
    "message": "(#100) Tried accessing nonexisting field (access_token) on node type (User)",
    "type": "OAuthException",
    "code": 100,
    "fbtrace_id": "DpmM6CyzoAt"
  }
}
我在网上的某个地方发现了最后一步,所以我想FB一定有什么改变,我已经阅读了他们的api文档,但我不知道他们利用什么资源来完成第3步

有人能告诉我如何获得永不过期的用户访问令牌吗


谢谢

用户令牌永远不会有效,您已经发现,扩展令牌的有效期仅为60天。我假设您想要获得一个扩展页面令牌,这就是您可以获得一个扩展页面令牌的方式:

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

基本上,您只需要使用页面ID,它与用户ID不兼容。

谢谢您的回复!我怎样才能准确地获取页面id?当我说[user id]时,我指的是我的Facebook页面id(www.Facebook.com/[numbers..]我很确定你尝试了一个用户配置文件,这可以解释错误消息。你的页面链接是什么?我对什么是页面id有点困惑(我以为它是我的用户页面id)但我现在明白了。我已经创建了一个Facebook页面并获取了它的ID。这使得通话正常,我现在有了一个永不过期的令牌。谢谢!要访问你的Facebook页面ID:打开你的Facebook页面。单击“关于”选项卡。向下滚动到页面信息部分的底部。在Facebook页面ID旁边,你可以找到你的页面ID。