【问题标题】:OAuthErrors when trying to read a Facebook Page's messages尝试阅读 Facebook 主页消息时出现 OAuthErrors
【发布时间】:2012-10-09 12:34:30
【问题描述】:

我正在尝试阅读 Facebook 主页的收件箱和发件箱。我的第一种方法是尝试直接访问page 节点的收件箱。下面的 URI 表示我是如何尝试获取它的:

/{page-id}/inbox

这是错误信息:

您只能访问当前用户的“收件箱”连接。

然后我尝试按照某些地方的建议访问 conversationsthreads 边缘:

/{page-id}/conversations

/{page-id}/threads

两个 URI 都产生以下错误:

(#298) 你必须是应用程序的开发者

我根本不知道有什么问题? Facebook 收到了一些与“#(298)”相关的错误报告,这些错误是几个月前报告的,但我不敢相信到目前为止还没有修复。

欢迎任何替代方法。

【问题讨论】:

  • /pageid/conversations 为我工作,只要我使用页面访问令牌。
  • (代表@Dennis t 发帖):即使在创建具有 read_mailbox 和 read_page_mailboxes 权限的页面访问令牌后,对话和线程边缘也会发生错误 #298,根据错误消息和文档分别。然后我尝试了所有可用的权限,仍然没有运气。最后,我将开发者角色分配给了当前用户,这也不起作用。

标签: facebook facebook-graph-api facebook-graph-api-v2.0


【解决方案1】:

如果您使用用户访问令牌而不是页面访问令牌,则会出现此问题。

我在Facebook Graph API Explorer 中执行此操作,我以为我正在使用页面访问令牌,但我没有。当我从 API Explorer 运行 {page-id}/conversations?access_token={page_access_token} 时,它在顶部的 Access Token 字段中有 {user_access_token}。这是在资源管理器发送的实际请求中发送的(如 Chrome 的开发工具中所示)。即,API Explorer 忽略了我输入的 {page_access_token} 并使用 Access Token 字段中的值。

清除 Access Token 字段或在该字段中输入{page_access_token} 会导致发送预期的{page_access_token}。在浏览器和 API Explorer 中执行一些步骤向我展示了方法。

这些是解决问题的步骤:

  1. 获取用户访问令牌:具有manage_pagesread_page_mailboxes 权限*,方法是从 API Explorer 点击获取访问令牌并选择指定的权限或访问网址如下。

    https://www.facebook.com/dialog/oauth?client_id={app-id}&redirect_uri={redirect-uri}&request_type=token&scope=manage_pages,read_page_mailboxes
    
  2. 获取页面访问令牌:通过从 API Explorer 运行 /me/accounts 或访问以下 URL。

    https://graph.facebook.com/v2.0/me/accounts?method=GET&format=json&suppress_http_code=1&access_token={user-access-token}
    
  3. 获取对话:使用上述步骤中的页面访问令牌(如果使用 API Explorer,请将其粘贴到 Access Token 字段中)通过运行获取对话** /{page-id}/conversations 或访问以下网址。

    https://graph.facebook.com/v2.0/{page-id}/conversations?method=GET&format=json&suppress_http_code=1&access_token={page-access-token}
    

* read_mailbox 不需要许可,这与我在上面的评论中所说的相反。实际上,错误消息是不正确的,尝试使用用户访问令牌不正确地访问页面边缘会导致用户访问错误,而不是无效的页面访问令牌错误。

** 用户必须是 Facebook 主页的管理员才能访问其对话。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-14
    • 2022-12-04
    • 1970-01-01
    • 2020-12-05
    • 1970-01-01
    • 2022-09-28
    • 1970-01-01
    相关资源
    最近更新 更多