【问题标题】:Ajax call to Instagram (GET /media/search) timestamp issueAjax 调用 Instagram (GET /media/search) 时间戳问题
【发布时间】:2014-01-13 12:38:46
【问题描述】:

我收到400 bad request 作为回复:

{"meta":{"error_type":"APIInvalidParametersError","code":400,"error_message":"invalid parameters-check the max\/min-timestamps, if you supplied them"}}

虽然我的要求似乎没问题:

https://api.instagram.com/v1/media/search?q=demonstration&lat=30.0444&lng=31.2357&distance=1000&min_timestamp=1383253200000&max_timestamp=1385758800000&access_token=9xxx4

在一个月的范围内指定时间戳,这是个问题吗?

附:使用 JQuery 1.9.1

谢谢,

【问题讨论】:

    标签: javascript jquery instagram


    【解决方案1】:

    只需删除时间戳中的最后三个 0,它就会起作用,我刚刚测试过它,它起作用了

    你的时间戳是以毫秒为单位的,它应该以秒为单位,你必须做 time/1000。

    https://api.instagram.com/v1/media/search?q=demonstration&lat=30.0444&lng=31.2357&distance=1000&min_timestamp=1383253200&max_timestamp=1385758800&access_token=9xxx4
    

    这是我为这个 API 完成的一个带有时间戳更改的实现:http://www.gramfeed.com/instagram/map

    (我认为没有 7 天的限制,我可以回到 30+ 天前得到结果)

    【讨论】:

      【解决方案2】:

      来自docs

      时间跨度不得超过 7 天。

      不要忘记 Unix 时间戳是自纪元以来的 。所以在 JS 中你会这样做:

      Math.round(new Date.getTime() / 1000 );
      

      【讨论】:

      • 是 7 天的时间范围,还是从当前日期(现在)起 7 天?
      • 因为我在正确的时间范围内得到了同样的错误?!
      • 它可以在没有最小值和最大值的情况下工作吗?另外,它们看起来太大了,你是从 ms 转换为 s 吗?
      • 所以情况如下: 1. 时间范围似乎没有计量,实际上它甚至适用于更早的时间。 2.我的时间戳没有错,它们只是以毫秒为单位,它不接受它,所以我转换了它(就像你提到的那样),现在它工作正常。谢谢。
      • 对不起,我不应该用错这个词。 Unix 时间戳总是以秒为单位,所以如果文档说他们期望 Unix 时间戳(他们确实如此),它应该以秒为单位。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-16
      相关资源
      最近更新 更多