我知道关于Facebook访问令牌以及他们造成的悲伤有很多问题,但尽管进行了大量实验并阅读了许多令人沮丧的模糊博客文章(FB和其他文章),但我仍然努力得到明确的答案以满足我的需求。让我简单地分解我的过程到目前为止:
这就是我被卡住的地方。我的60天密钥适用于我的服务器,以便从该页面获取所需的信息,但据我所知,无法以编程方式扩展该60天密钥。我也不知道如何生成新的短期密钥,而无需手动转到Facebook Graph API Explorer并创建一个。
由于这是我的服务器向Facebook API发出请求,而不是基于用户的系统(我可以轻松请求用户再次授权Facebook应用),因此会创建一个非常笨重的系统。由于Facebook弃用offline_access
,真的没有永久的方式让我的服务器从我自己的页面上获取信息吗?我是否真的必须手动创建一个新密钥,并每60天手动更新一次服务器?
还是有我失踪的东西?
发布于 2018-04-11 08:45:36
这些是以前在问题中的步骤 - 他们已经被迁移到这个答案。
发现可以生成一个不会过期的Facebook页面访问令牌,对于所有寻求相同内容的人来说,下面是一个清晰的步骤问题:
manage_pages
权限https://graph.facebook.com/oauth/access_token?client_id=<your FB App ID >&client_secret=<your FB App secret>&grant_type=fb_exchange_token&fb_exchange_token=<your short-lived access token>
https://graph.facebook.com/me/accounts?access_token=<your long-lived access token>
access_token
您将从中拉取信息的页面Expires: Never
!这应该做到这一点。您现在应该拥有一个不会过期的Facebook页面访问令牌,除非:
任何这些都会导致访问令牌失效。
如果正在获取(#100) Tried accessing nonexisting field (accounts) on node type (Page)
,请转至Access令牌调试器,复制该值User ID
并在步骤9中使用它替换URL中的“我”部分。
发布于 2018-04-11 09:40:37
这包括在Offline Access弃用文档中
对页面管理员使用60天令牌来检索页面访问令牌(通过/PAGE_ID?fields=access_token
或/me/accounts
) - 页面访问令牌不会有过期时间
https://stackoverflow.com/questions/-100003260
复制相似问题