2

我目前正在 pingfoursquare 场地平台,以便将我公司的数据与foursquare 的数据协调一致。有关场地协调的信息在这里:https ://developer.foursquare.com/overview/mapping

速率限制在标头中为 X_RATELIMIT_REMAINING。我有一个推出新请求的生产者和一个接触foursquare api的消费者。我想找到一种方法让生产者在不花费剩余请求的情况下检查速率限制。

有谁知道这样做的方法?

4

1 回答 1

5

不幸的是,没有“虚拟”端点来检查您的速率限制。他们有一个多端点,但据我所知,他们会计算批处理中的每个请求。

你可以算你这边的ratelimit。这是一个解释:

窗口仍应实时更新。

需要明确的是,如果您的速率限制为 500,则在 11:00,您发送 5 个请求,X-RateLimit-Remaining 将为 495。如果您等待几分钟到 11:05,然后发送另一个请求,X-Rate - 剩余限制将是 494 - 它还没有重置。

直到 12:01,您才会取回您在 11:00 发出的 5 个请求。因此,如果您在 12:01 再次请求,您的限制将为 498(-1 表示您刚刚发出的请求,-1 表示 11:05 的请求)。

在 12:06 再次请求,您将恢复到 499(完全限制,减去您刚刚使用的)。

从这个线程:API配额超出

如果您重现此逻辑并计算每个端点发出的每个请求,您可以猜测您的速率限制。很抱歉,没有更简单的方法可以做到这一点:(

于 2012-06-15T13:53:44.860 回答