用于offline_access的facebook访问令牌 - PHP

时间:2011-06-14 08:36:06

标签: php facebook facebook-graph-api

我正在尝试从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库。

1 个答案:

答案 0 :(得分:3)

您应该升级到version 3 of the PHP SDK。我们对cookie格式进行了一些更改,以及您可以阅读有关here的其他内容。版本2将于9月1日stop working,因此您无论如何都需要尽快升级。一旦你完成了,事情应该适合你。

P.S。您可能希望使用“/ posts”连接而不是User object的“/ status”连接,因为它还会为您提供包含附件的用户所做的任何帖子。 “/ statuses”连接仅返回用户创建的纯文本帖子。我们将更新文档以澄清这一点。