1

一切都设置得很好。我可以接收并记录 facebook 推送到我的回调服务器的数据。

我正在监视更新的提要,特别是帖子。当我作为页面发布时,我可以获取 post_id 并调用图形 api 以获取详细信息。

当我以用户身份发布到页面时,我得到以下信息:

{
   "object":"page",
   "entry":[
      {
         "id":"**[PAGE ID]**",
         "time":1385465393,
         "changes":[
            {
               "field":"feed",
               "value":{
                  "item":"post",
                  "verb":"add",
                  "post_id":**[INVALID POST ID]**,
                  "sender_id":**[USER WHO SENT POST]**
               }
            }
         ]
  }
   ]
}

这是典型的输出。请注意,我已删除标识符并用占位符替换它们。

当我提取 post_id 并使用图形 API 查询它时,它返回以下消息:

{“错误”:{“消息”:“不支持的获取请求。”,“类型”:“GraphMethodException”,“代码”:100 } }

我有:

  • 使用调试器验证了我的页面访问令牌(这具有与之关联的 manage_pages 权限并且是永久性的)
  • 查询图形 API -> [我的页面 ID]/feed返回我想要检索的帖子,但他们的帖子 ID 与我通过 Facebook 发送的不同。
  • 创建一个新的用户帐户以防 Facebook 的垃圾邮件检测器出现问题(也许我的许多测试帖子触发了垃圾邮件过滤器?)但无济于事。
  • 确保我的页面允许 13 岁以上的用户并且没有国家/地区限制
  • 确保应用程序未处于沙盒模式
  • 确保应用配置中没有任何愚蠢的权限问题,例如酒精页面或未将年龄设置为 13 岁以上

所以我很难过。

为什么 Facebook 没有向我发送正确的 post_id?为什么它给我发一封无效的邮件?考虑到我的应用程序是使用实时更新的核心,我该如何解决这个问题?

4

1 回答 1

0

所以这原来是一个与facebook相关的问题。我基本上不得不修改我的代码,以考虑到 RTU 会根据您是页面管理员还是普通用户向您发送不同格式的帖子 ID。

如果您是页面管理员,页面 ID 的格式将为[PAGE ID]**_ [POST ID]**,但如果您是普通用户,RTU 只会向您发送不带页面 ID 前缀的帖子 ID .

有点令人困惑...不确定是否已经向 Facebook 提交了错误。

于 2013-12-29T01:25:24.363 回答