“不支持的获取请求” - 页面的 Facebook 实时更新
Posted
技术标签:
【中文标题】“不支持的获取请求” - 页面的 Facebook 实时更新【英文标题】:"Unsupported Get Request" - Facebook Realtime updates for Pages 【发布时间】:2013-11-26 12:05:38 【问题描述】:一切都设置得很好。我可以接收并记录 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 查询它时,它会返回以下消息:
“错误”: "message": "不支持的获取请求。", "type": "GraphMethodException", “代码”:100
我有:
使用调试器验证了我的页面访问令牌(这具有与之关联的 manage_pages 权限并且是永久性的) 查询图形 API -> [My Page ID]/feed 返回我要检索的帖子,但他们的帖子 ID 与 Facebook 发送的不同。 创建了一个新的用户帐户,以防 Facebook 的垃圾邮件检测器出现问题(也许我的许多测试帖子触发了垃圾邮件过滤器?)但无济于事。 确保我的页面允许 13 岁以上的用户使用,并且没有国家/地区限制 确保应用未处于沙盒模式 确保应用配置中没有任何愚蠢的权限问题,例如酒精页面或未将年龄设置为 13 岁以上所以我被难住了。
为什么 Facebook 没有向我发送正确的 post_id?为什么它给我发一封无效的邮件?考虑到我的应用是使用实时更新的核心,我该如何解决这个问题?
【问题讨论】:
【参考方案1】:所以这原来是一个与 facebook 相关的问题。我基本上不得不修改我的代码,以考虑到 RTU 会根据您是页面管理员还是普通用户向您发送不同格式的帖子 ID。
如果您是页面管理员,页面 ID 的格式将为 [PAGE ID]**_[POST ID]**,但如果您是普通用户 RTU将不带页面 ID 前缀的帖子 ID 发送给您。
有点混乱...不确定是否已经向 Facebook 提交了错误。
【讨论】:
嗨,你能给我一些关于如何订阅页面/提要的提示吗?我创建了应用程序,配置为从“object:page”和“fields:feed”获取实时更新,我将它作为选项卡添加到我的页面中,但仍然一无所获。关于这方面的文档非常薄弱。 是的,一些 RTU 文档的文档记录如此糟糕,这很不方便。我相信它假定了某些方面的先验知识,如果您没有太多经验,则很难开始。我有一段时间没看这个了。您是否在 facebook 的 RTU 配置中测试了您的回调 URL? 感谢您的回复@Strainy。我的回调没问题。我收到有关“user:likes”的通知,但我没有收到“page:feed”甚至“user:feed”的通知。开始怀疑问题是否出在“feed”上。 您没有收到来自 RTU 的任何对象吗?你如何测试这个? 嗨@Strainy。我没有收到任何应该来自“对象:页面”的信息。从用户那里,我得到了正确的一切,现在包括以前不起作用的“用户:提要”(缺少 read_stream 权限)。你能告诉我你的应用程序有哪些权限吗?谢谢您的回复。以上是关于“不支持的获取请求” - 页面的 Facebook 实时更新的主要内容,如果未能解决你的问题,请参考以下文章
API Facebook 营销错误:不支持的获取请求。 ID 为 XXXXXX 的对象不存在,由于缺少权限而无法加载
context.fields(all_mutual_friend) 返回不支持的获取请求
Facebook 的 Facebook 赞按钮 Facebook 页面的博客