2013-11-26 69 views
1

一切都设置得很好。我可以接收并记录Facebook推送到我的回叫服务器的数据。“不支持的获取请求” - Facebook页面实时更新

我正在监视Feed更新,特别是帖子。当我作为页面发布时,我可以获取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查询它:

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

我:

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

所以我很难过。

为什么Facebook不给我发送正确的post_id?为什么发给我一个无效的东西?我该如何解决这个问题,考虑到我的应用程序是使用实时更新的核心所在?

回答

0

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

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

有点令人困惑...不知道如果一个错误已经提交到Facebook尚未。

+0

嗨,你能给我一些关于如何订阅页面/饲料的提示吗?我创建了应用程序,配置为从“object:page”和“fields:feed”获得实时更新,我将它作为Tab添加到了我的页面,但仍然没有任何内容。关于这个文件非常薄弱。 –

+0

是的,这很不方便,RTU文档的记录很差。我相信,如果你没有太多的经验,它会假设某些方面的先验知识,这使得很难开始。 我还没有看过这一段时间。你有没有测试你的回调URL在RTU配置内的Facebook? – Strainy

+0

谢谢你的回复@Strainy。我的回拨是好的。我收到“user:likes”的通知,但我对“page:feed”甚至“user:feed”没有任何提示。开始怀疑问题是否与“饲料”有关。 –

相关问题