【问题标题】:facebook access token for offline_access - PHPoffline_access 的 Facebook 访问令牌 - PHP
【发布时间】:2011-07-21 09:23:33
【问题描述】:

我正在尝试从 facebook 用户那里获取状态,他们使用 offline_access 和 read_stream 权限连接到我的应用程序。

所有进程都将使用订阅来获取有关新提要的通知,然后访问更改它的用户的状态。

订阅代码效果很好,我得到了所有信息,但问题从第二部分开始 - 每次我尝试通过访问用户状态时

$objFacebook->api('/'USER_ID'/statuses?access_token=TOKEN', 'get', $params);

我得到了例外:

请求此资源需要访问令牌

我尝试设置通过 facebook 登录连接到我的网站时获得的 access_token,还尝试以与此处类似的方式设置整个会话:

Array
(
    [access_token] => ... 
    [base_domain] => ...
    [expires] => 0
    [secret] => ...
    [session_key] => ...
    [sig] => ...
    [uid] => ...
)

但这没有帮助。另一方面,当我复制通过 facebook 开发人员 (http://developers.facebook.com/docs/reference/api/user/) 生成的 access_token 时,它可以正常工作,所以看起来我的应用程序生成了不正确的访问权限令牌。

你知道问题出在哪里吗?

要连接,我使用 facebook-php-2.0 库。

【问题讨论】:

  • 不是真的,问题是我有访问令牌存储在 DB/file/etc 中。但似乎不适用于我的 api 请求。
  • 您是在存储当前的访问令牌还是用户令牌,就好像我没记错一样,您从用户那里获得了令牌,然后在执行某些操作时,您必须使用保存的离线用户令牌请求当前令牌密钥
  • 你应该升级到 3.0 github.com/facebook/php-sdk

标签: php facebook facebook-graph-api


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多