Instagram 实时更新标签 - 调用两次回调


Instagram Real time updates tag - callback called twice?

我正在使用Instagram实时更新标签,以便在有人使用特定标签标记媒体时收到通知。订阅工作正常,并且无法使用直接检查订阅https://api.instagram.com/v1/subscriptions?client_secret={cs}&client_id={cid}

在回调中,我有类似的东西

if (isset ($_GET['hub_challenge'])){
    echo $_GET['hub_challenge'];
}
else{
    $my_string = file_get_contents('php://input');
    $sub_update = json_decode($my_string);
    //do the rest of the things with data we fetched
}

}

但是,这个回调从Instagram端执行了两次。因此,例如,如果我订阅了"winter"标签,并且如果有人发布媒体并使用该标签对其进行标记,instagram 将向我在订阅期间指定的回调文件发送两次通知(两次调用都在几秒钟内执行)。为什么Instagram向回调发送两次请求?有人有类似的问题吗?

经过调试和调查,我发现如果回调文件执行速度不够快,则从 instagram 发送两次调用。

根据文档:

此外,您应该在 2 秒超时内确认开机自检 - 如果 您需要对收到的信息进行更多处理,您可以 所以在异步任务中。

如果他们在 2 秒内没有收到第一个请求的响应,他们将发送第二个请求。

最后,我有空白的回调.php文件,里面只有"睡眠",每次调用两次。