使用页面Access Token和fb_exchange_token在页面上发布

时间:2012-04-26 19:30:28

标签: php facebook facebook-graph-api facebook-php-sdk facebook-access-token

我正在尝试在用户拥有的网页上为发布商设置应用。

1)我通过manage_pages,publish_stream范围

请求获得js的许可

2)$ fb-> api('/'。$ fb-> getUser()。'/ accounts','GET',array('access_token'=> $ token)

3)我通过线程How to extend access token validity since offline_access deprecation

中的MarcusJoe方法获取令牌

4)将页面access_token存储在db

5)在页面上张贴$ fb-> api('/'。$ pageId。'/ feed','POST',array_merge(array('access_token'=> $ row-> token), $ PARAMS));

因此,当我登录时,如果我注销掉掉我所有的饼干只需要大约两个小时就可以工作,而不是停止使用消息

使访问令牌无效时出错:会话与当前存储的会话不匹配。这可能 因为用户在创建会话之后更改了密码,或者Facebook出于安全原因更改了会话。

所以我深深地想知道我是否犯了错误:(

请帮帮我吗?

再见

1 个答案:

答案 0 :(得分:0)

每当facebook按您的方式发送令牌时,他们也会添加“过期”字段。 令牌结果具有以下格式:

access_token=XXXXXX&expires=0000

(申请令牌除外)

因此,当您提取访问令牌时,也要获得过期时间,并确保它有多长时间。 您可能希望尝试服务器端身份验证,因为它会生成长期令牌。

当用户注销时,会话失效并且您的令牌变得无用。 除了让用户重新使用您的应用程序之外,您无法获得新令牌。 还有其他情况会话失效,例如更换密码,删除您的应用程序。