我在Facebook的企业网页(称为粉丝页面在Facebook中白话)。
我想post to that Page
时,用户需要在我的应用程序有一定作用。 我要发布的页面本身,而不是用户(从我的个人账户IE)。 该职位将来自我对外部服务器(我使用restFB)。
我已经通过授权适当的个人帐户的步骤去manage_pages
的页面的权限。 我也得到了页面的访问令牌。 我甚至已经能够上传到该页面的页面,我想。 问题是,我得到(通过他们的开发工具的图形浏览器),令牌具有一个小时的有效期。 我需要它来维持比这更长的时间,最好永远。
我环顾四周上网,所以包括的答案,最帖子点回可怕的FB文档或进行模糊引用钩住我的应用程序之外的Facebook应用程序,并通过张贴。 我试图使这项工作,但我对整个过程感到困惑,很坦率地说(什么是回调地址,例如?)。
无论如何,我很乐意看到在纯英文一步一步的指示getting a long lasting access token
,我可以用从一个应用程序的Facebook专页张贴。
请不要参考FB文档。 这很糟糕。 我已经经历了十几次,至少。
谢谢。
这里有一些步骤,你可以遵循得到一个永远不会过期令牌,你的粉丝页面:
首先,你需要获得长寿命的用户访问令牌(即2个月到期)。 要获得此,提出以下电话:
GET /oauth/access_token? grant_type=fb_exchange_token& client_id={app-id}& client_secret={app-secret}& fb_exchange_token={short-lived-token}
更多细节在这里 。 让我知道,如果你有任何与此困难。
使用您在上述步骤(不正常的道理,这是这里的主要区别)获得的令牌获取你的页面永远不会过期的访问令牌:
$facebook->api("/PAGE_ID?fields=access_token");
所以,这个概念是,让同时进行调用,你应该使用长寿命的用户令牌的长寿命页令牌。
@Shadowfax是complety权。 刚完成的工作流程:
- 获取与Facebook登录ACCESS_TOKEN短期内的用户,并与
manage_pages
许可。 - 发送该短期用户对的access_token服务器
从服务器,使@Shadowfax要求:
GET /oauth/access_token? grant_type=fb_exchange_token&client_id={your-app-id}& client_secret={your-app-secret}&fb_exchange_token={short-lived-user-access_token}
与主机graph.facebook.com
和端口443
。
你有因为它包含您的应用程序的密钥,使从服务器申请。
从服务器中,你现在可以通过更换这个长真人版ACCESS_TOKEN用户查询的Facebook
从服务器,或者通过查询用户账号获取通过你的长住用户的access_token ACCESS_TOKEN页面:
GET /{user-id}/accounts?access_token={long-live-token}
您将获得与自己的身份证和所有的access_token用户的页面。
或者你也可以直接查询特定页面,如果你已经知道它的PAGE_ID
GET /{page-id}/?fields=access_token&access_token={long-live-token}
作为@Shadowfax说,这页长住令牌将永远持续下去,只要用户(您)并不会撤销你的应用程序的权限。
文章来源: What are the Steps to getting a Long Lasting Token For Posting To a Facebook Fan Page from a Server