Instagram实时更新标签 - 回叫两次?

时间:2014-12-09 14:00:46

标签: php instagram-api

我正在使用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方面执行两次的。例如,如果我订阅"冬天"标签,如果有人发布媒体并使用该标签对其进行标记,Instagram将向订阅期间指定的回调文件发送两次通知(两次调用都在几秒内执行)。为什么Instagram会向回调发送两次请求?有人有类似的问题吗?

1 个答案:

答案 0 :(得分:8)

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

基于documentation

  

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

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

最后,我有一个空白的callback.php文件只有" sleep"在它里面,它每次被召唤两次。