【问题标题】:Facebook Graphi API does not list page accounts in offline modeFacebook Graph API 不在离线模式下列出页面帐户
【发布时间】:2011-08-12 20:38:30
【问题描述】:

我的离线 Facebook 应用程序正在尝试检索与之前已授权该应用程序的特定用户 ID 关联的帐户:

https://graph.facebook.com/(userid)/accounts?access_token=(token)

即使我传递了一个有效的访问令牌,Facebook 也会返回: OAuthException: 请求此资源需要访问令牌。

我通过使用相同的用户 ID 和访问令牌查询点赞连接来验证我的访问令牌是正确的:

https://graph.facebook.com/(userid)/likes?access_token=(token)

对于第二个语句,Facebook 返回预期结果。

我的应用程序具有 manage_pages 和 offline_access 权限。我使用的访问令牌是用户授权应用程序时 Facebook 返回的访问令牌。我不明白为什么它适用于点赞连接,但不适用于帐户连接。

【问题讨论】:

    标签: facebook-graph-api


    【解决方案1】:

    如果您的访问令牌错误,facebook 会返回:

    {
       "error": {
          "type": "OAuthException",
          "message": "Error validating access token."
       }
    }
    

    似乎token没有传递给graph api。根据您用于传递令牌的 SDK,可能会出现不同的错误。例如,PHP SDK 会忽略您传递的令牌并尝试从会话 cookie 中获取令牌,这会导致错误。您能否澄清一下您是如何进行图形 api 调用的?

    我已验证您可以使用有效的令牌获取帐户数据。您是否尝试将其粘贴到浏览器中https://graph.facebook.com/(userid)/accounts?access_token=(token)?

    【讨论】:

    • 非常感谢。是的,我已经在浏览器中测试了这个问题。访问令牌有效,但不起作用。不过,我不知道有不同类型的访问令牌。我使用的那个只适用于喜欢、朋友、发布流等,但不适用于帐户。
    • @carina 您是否介意分享您阅读不同令牌的链接。我还没有听说过类似的东西,并且对它的工作原理很感兴趣。
    • 非常感谢您的分享。我总是使用 user_agent 身份验证,从来没有遇到过这个问题。这些知识在处理 facebook 时总是有用的:D
    【解决方案2】:

    Facebook 提供不同的访问令牌,有些较短,有些较长。在没有意识到差异的情况下,我使用了较短的,创建为 type='client_cred'。这些可以很好地用于检索朋友列表、粉丝页面列表、发布到流媒体等,但显然它们不适用于获取帐户信息。

    以下是两种访问令牌的示例。显然第一个缺少会话信息(这是第二个访问令牌的中间部分)。

    116122545078207|EyWJJYqrdgQgV1bfueck320z7MM。 116122545078207|2.1vGZASUSFMHeMVgQ_9P60Q__.3600.1272535200-500880518|EyWJJYqrdgQgV1bfueck320z7MM。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-07
      • 2020-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-22
      相关资源
      最近更新 更多