首页 > 解决方案 > 为什么 Instagram Graph API webhook 不起作用

问题描述

当另一个用户在另一个/我的媒体上发表评论(带有提及)时,我无法接到 webhook 调用。

仅出于测试目的,我为我的 webhook 端点设置了一个 ngrok 服务器,它总是以 200 回答并处理验证。在进行繁重的编码之前,我只是想看看 Instagram 的 webhook 工作流程是否正常工作。

我创建了一个 Facebook 应用程序、一个 Instagram 企业帐户、一个 Facebook 页面,并将该页面与 Instagram 企业帐户相关联。借助Instagram Webhooks 中的信息,我使用 Graph API Explorer 创建了一个页面访问令牌。当我使用访问令牌调试器调试令牌时,一切看起来都很好。所有需要的权限,如 manage_pages、pages_show_list、instagram_basic、instagram_manage_comments、instagram_manage_insights、public_profile 都在那里。使用页面访问令牌,我可以通过 Graph API Explorer 获取有关我链接的 Instagram 业务帐户的所有信息。

Instagram 产品也自动添加到我的 Facebook 应用程序中。我的 ngrok 服务器将接收通过应用仪表板(Webhooks 产品)发送的测试请求。但不会收到来自我或其他媒体的其他人或我的 Instagram 帐户(无论是否为企业)的任何类型的提及或评论。我究竟做错了什么?由于应用程序处于开发模式并且应用程序中有角色,我是否必须从特定帐户发送这些评论/提及?

标签: facebookinstagramwebhooksinstagram-graph-apifacebook-webhooks

解决方案


在与 Facebook 支持人员交谈后,我的困惑得到了解决。问题是 Instagram 产品的 Webhook 无法在没有经过验证的应用程序审查的情况下运行。我一直想知道如何在不运行 webhook 的情况下使用正在运行的解决方案录制截屏视频……最重要的是,我想知道为什么开发模式下的 webhook 对产品信使有效,而对 instagram(或其他)无效。显然,应用审查不是关于技术实施,而是检查实施是否符合 facebook 指南。因此,我想引用 Facebook 的支持:

Messenger 确实允许页面所有者和应用程序管理员接收 webhook 以用于他们在 devmode 中的实现,并且是设计使然。但是,对于 instagram 或页面来说,这并不相同。这就是产品团队决定实施它的方式。对于应用审查,您可以使用测试 webhook 或您自己的流程显示流程的模拟流程。应用程序审查与技术实施步骤无关,而只是一种确保您的应用程序将以遵循我们指南的方式使用权限的方法,因此模拟该过程应该没问题。审阅者了解您在开发模式下不会收到 webhook,应该考虑到这一点。

因此,我现在必须提交应用审查,为此我必须模仿 webhook。


推荐阅读