什么是获得持久令牌从服务器发布到Facebook粉丝页的步骤
我在Facebook上有一个商业页面(在Facebook上称为粉丝页面)。
我想post to that Page
只要用户在我的应用程序上采取一定的行动。 我想发布为页面本身而不是用户(即从我的个人帐户)。 该post将来自我的外部服务器(我正在使用restFB)。
我已经完成了授权我的个人帐户以及页面的相应manage_pages
权限的步骤。 我也获得了页面的访问令牌。 我甚至能够按照我的意愿将其张贴到该页面。 问题是,我得到的令牌(通过他们的开发工具graphics浏览器)有一个小时到期。 我需要它持续比这更长的时间,最好永远。
我环顾了互联网,其中包括SO的答案和大多数post指向可怕的FB文档或作出模糊的引用挂钩我的外部应用程序到facebook应用程序,并通过发布。 我试图做这个工作,但我很困惑整个过程,坦率地说(什么是callback地址,例如?)。
无论如何,我很乐意看到简单的英语一步一步的指示, getting a long lasting access token
,我可以使用从一个应用程序发布到Facebook粉丝页面。
请不要参考FB文档。 这很糟糕。 我至less经历了十几次。
谢谢。
以下是您可以按照以下两个步骤获取粉丝页的永不过期标记:
-
首先,您需要获得长期存在的用户访问令牌(即在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");
所以这个概念是这样的:为了获得长期存在的页面令牌,你应该在进行调用的时候使用长期存在的usr令牌。
@Shadowfax是完整的权利。 只需完成工作stream程即可:
- 使用facebooklogin名和
manage_pages
权限获取短期用户access_token。 - 将这个短期用户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
。您必须从服务器发出此请求,因为它包含您的应用程序密钥。
-
从服务器,你现在可以通过用这个长寿命版本replace用户access_token来查询Facebook
-
在服务器上,通过查询用户帐户,使用长时间用户access_token获取页面access_token:
GET /{user-id}/accounts?access_token={long-live-token}
你将获得所有用户的页面与他们的ID和access_token。
或者,如果您已经知道其page_id,则可以直接查询特定页面
GET /{page-id}/?fields=access_token&access_token={long-live-token}
正如@Shadowfax所说,只要用户(您)不撤销您的应用权限,该页面的长生命令将永远持续。