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

时间:2012-08-30 20:11:09

标签: api instagram subscription geography

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

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

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

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

问:我可以丢失请求吗?它在Instagram API docs中说我应该在不到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);
        }
}

问:如果我缺少请求:

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

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

0 个答案:

没有答案