Instagram API实时地理位置订阅 - 请求太少

Adi*_*abu 6 api geography subscription instagram

我通过订阅5个地理位置在Instagram API上实现了实时功能.这些地区几乎覆盖了布加勒斯特地区,所以我想我应该从Instagram的服务器上获得很多动作.

这是我在PHP中实现所有内容的方式(CodeIgniter):

  • 我为所有5个地理位置创建了一个回调页面,用于分析Instagram API中的原始帖子,获取地理ID,然后根据相应的地理ID 请求从该区域上传到地理终点的最近照片
  • 我解析了这个响应并缓存了照片的数据,以便稍后检索
  • 我在http://hipstagram.ro/上显示了最后30个结果

问题是我通过手机从其中一个区域拍摄照片进行了一些测试,有时我的照片显示,有时则没有.实现不会抛出任何错误,但它的工作原理很奇怪.因此......我有几个未回答的问题:

问:我可以丢失请求吗?它在Instagram API文档中说我应该在不到2秒的时间内确认请求.这是我的代码在回调方法(PHP CodeIgniter)中的样子:

if ($_SERVER ['REQUEST_METHOD'] == 'POST') {
    header("Content-Length: 0");
    header("Connection: close");
    flush();

    // do stuff with file_get_contents('php://input')
    // also, get new photos...

    $data   = json_decode (file_get_contents('php://input'));

    if (is_array ($data))
        foreach ($data as $geo) {
            $this->db->query ("LOGGING SOMETHING HERE...");

            // make some a cURL request to the geography endpoint
            // get the photos, save them in the database
            $this->live->updateGeo ($geo->object_id);
        }
}
Run Code Online (Sandbox Code Playgroud)

问:如果我遗漏了请求:

  • 是因为回调时间太长$this->live->updateGeo(由于等待cURL调用结束)?
  • 是因为我的服务器在罗马尼亚,Instagram的所有请求都来自美国IP?

我已经分析了原始访问日志,并且不时会收到大量请求,然后是长时间的沉默.我认为这是因为Instagram API没有向我发布任何内容,或者因为我在不到2秒的时间内没有回应.否则......为什么这些请求一次全部发生(几秒钟内5-10个请求)?它不像5-10人碰巧同时拍摄所有照片然后每个人只是把手机放回口袋:)