【问题标题】:Receiving multiple webhook notification for Facebook Feed接收 Facebook Feed 的多个 webhook 通知
【发布时间】:2021-01-13 14:55:51
【问题描述】:

当消息正常工作时,我遇到了 Facebook Webhook for feed 的问题。对于一篇帖子,我不断收到来自 Facebook 的多个通知。我已经向 Facebook 提出了一个错误,他们的团队说我的服务器无法发回 200 OK HTTP 状态。同样在他们的文档中我发现

“当被 Facebook 调用时,您的 webhook 回调应始终返回 200 OK HTTP 响应。否则可能会导致您的 webhook 被 Messenger 平台取消订阅。”

我的代码是这样的:

<?php
$challenge = $_REQUEST['hub_challenge'];
$verify_token = $_REQUEST['hub_verify_token'];

if ($verify_token === 'password')
{
echo $challenge;

}

/*........RECEIVING INPUT FROM fACEBOOK.........*/
$input = json_decode(file_get_contents('php://input') , true);
error_log(print_r($input, true));

/*after this i am calling AI and then replying back*/

在php中调用AI之前有什么办法可以发回200 OK状态。

【问题讨论】:

  • 我已尝试从link 创建一个虚拟请求,但状态为 200。
  • PHP 默认回答 200,如果没有严重错误阻止它这样做(如内部服务器错误,这将导致 500。)启用正确的错误日志记录,然后检查访问和错误日志,以了解您的脚本如何回答 Facebook 发出的实际请求。
  • 我在每一步都有错误日志,所有步骤都在时间限制内很好地执行。

标签: php facebook facebook-graph-api wampserver webhooks


【解决方案1】:

对于解决方法,我已将通知存储在数据库中,并且对于每个通知,我都会检查数据库中的现有数据(时间戳、senderId、帖子)以消除重复的帖子。

如果有人在复杂性方面有更好的选择,请告诉我们。

【讨论】:

    【解决方案2】:

    我有类似的问题,在我的情况下,我订阅了我的测试应用程序和实际生产应用程序。因此发送了 2 个事件

    【讨论】:

      猜你喜欢
      • 2016-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多