我知道,有关于Facebook的访问令牌和它们所造成的悲痛很多问题,但尽管多次实验和阅读许多令人沮丧的模糊的博客文章(FB和其他),我仍然在努力得到一个明确的答案,以我的需求。 让我简明扼要地打破我的进程迄今:
- 我创建了一个网站,服务器端,需要拉职位/状态从一个单一的Facebook页面
- 我认为Facebook主页的管理员
- 我创建Facebook应用
- 使用Facebook的图形API资源管理器 ,我已经产生了短暂的键,连接到我的应用程序和我的帐户,授予权限到我的帐户,查看访问令牌我的网页
- 我已经将我短暂的键从一个长寿命密钥(60天)ALA方案4 本
这里的地方我卡住了。 我60天重点工作正常,我的服务器拉从网页所需要的信息,但据我所知,没有办法以编程方式延长该60天关键。 我也不知道的方式来产生,而无需手动去Facebook的图形API浏览器并创建一个新的短命的关键。
既然是我的服务器发出请求到Facebook的API,而不是基于用户的系统(在这里我可以很容易地要求用户重新授权Facebook的应用程序),这创造了一个非常笨重的系统。 由于Facebook的弃用offline_access
,真的没有到有,从我自己的网页在我的服务器上拉资讯永久的方式? 我真的要手工创建一个新的密钥和手动更新我的服务器与它每60天?
或者是有什么我失踪?
更新:
先前发现这里的一步一步的指导,已迁移下来变成自己的答案 。
这些都是以前在这个问题的步骤-他们已经迁移到这个答案。
已经发现,有可能产生一个Facebook页面访问令牌不会过期(从@Igy帮助),这里是一个清晰,一步一步quide众人寻觅到相同的:
- 请确保您的FB页面的要拉信息从管理
- 创建一个FB应用(应与在页面管理员相同的用户帐户)
- 头向Facebook的图形API浏览器
- 在右上角选择您从“应用程序”创建的FB应用程序下拉列表
- 点击“获取访问令牌”
- 请确保您添加
manage_pages
权限 - 转换此短暂的访问令牌为长寿命的一个通过使该图形API调用:
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>
- 抓住新的长期访问令牌返回
- 制作一个图形API调用使用新的长期访问令牌看到您的帐户:
https://graph.facebook.com/me/accounts?access_token=<your long-lived access token>
- 抢
access_token
你会从拉拉信息页面 - 皮棉令牌看到它被设置为
Expires: Never
!
这应该这样做。 你现在应该有一个Facebook页面访问令牌不会过期,除非:
- 你改变你的Facebook帐户的密码
- 你失去目标页面管理员访问权限
- 您删除或取消授权您的Facebook应用
所有这些都将导致访问令牌变得无效。
如果您收到(#100) Tried accessing nonexisting field (accounts) on node type (Page)
,到访问令牌调试器 ,复制的价值User ID
,并用它来替换URL中的“我”的一部分,步骤9。
这是覆盖在脱机访问弃用文件
使用60天令牌的页面管理员检索页面访问令牌(通过/PAGE_ID?fields=access_token
或/me/accounts
) -页面访问令牌不会有到期时间
非常感谢@redhotvengeance为一步一步的指导。
过了一段时间,现在显然是Facebook的文档中描述:
https://developers.facebook.com/docs/facebook-login/access-tokens/expiration-and-extension
扩展页面访问令牌
当它们与manage_pages许可认证的应用程序可以检索页管理员的用户页面访问令牌。 如果用于检索此页面访问令牌的用户访问令牌是短暂的,页面访问令牌也将是短暂的。
为了得到长寿命的页面访问令牌,交换用户访问令牌的长寿命之一,如上,然后请求页面访问令牌。 结果页面访问令牌不会有任何的到期时间。
您也可以从Facebook上的应用程序仪表板复制过去。 步骤:
转到https://developers.facebook.com
在页面的右上角选择您的应用程序(的什么样子PIC)
- 从左侧的选项,点击使者(它会去自动设置) (PIC的是什么样子)
- 转到页中的“令牌生成”一节。 选择要生成令牌的页面。 (什么是部分类似于图)
- 复制和过去你的网页令牌在任何你需要它。
请记住,虽然在理论上你的令牌不会过期,它直接关系到什么都Facebook帐户的登录。 所以说,您更改密码,或者您从您的帐户和应用程序之间删除权限,那么你的令牌将不再有效了。