我正在尝试从Facebook用户那里获取状态,他们使用offline_access和read_stream权限连接到我的应用。
所有流程都会使用订阅来获取有关新Feed的通知,然后访问更改了该Feed的用户的状态。
订阅的代码工作得很好,我得到了应有的所有信息,但问题从第二部分开始 - 每次我尝试通过
访问用户状态$objFacebook->api('/'USER_ID'/statuses?access_token=TOKEN', 'get', $params);
我得到例外:
请求此资源需要访问令牌
我尝试设置access_token
,当我通过Facebook登录连接到我的网站时,我也尝试设置整个会话,就像在这里完成一样:
Array
(
[access_token] => ...
[base_domain] => ...
[expires] => 0
[secret] => ...
[session_key] => ...
[sig] => ...
[uid] => ...
)
但它没有帮助。另一方面,当我复制通过Facebook开发人员生成的access_token
(http://developers.facebook.com/docs/reference/api/user/)时,它正常工作,所以看起来我的应用程序生成了不正确的访问令牌。
你知道问题出在哪里吗?
连接我使用facebook-php-2.0库。
答案 0 :(得分:3)
您应该升级到version 3 of the PHP SDK。我们对cookie格式进行了一些更改,以及您可以阅读有关here的其他内容。版本2将于9月1日stop working,因此您无论如何都需要尽快升级。一旦你完成了,事情应该适合你。
P.S。您可能希望使用“/ posts”连接而不是User object的“/ status”连接,因为它还会为您提供包含附件的用户所做的任何帖子。 “/ statuses”连接仅返回用户创建的纯文本帖子。我们将更新文档以澄清这一点。