我正在使用TwitterOAuth在PHP中创建一个Twitter webapp,我很快就违反了速率限制。
stdClass对象([errors] =>数组([0] => stdClass对象([code] => 185 [message] =>用户超过每日状态更新限制。)))
我在做什么(在API v1.1中)
statuses / retweet /:https://dev.twitter.com/rest/reference/post/statuses/retweet/%3Aid 状态/更新/:https://dev.twitter.com/rest/reference/post/statuses/update
所以我读了一下速率限制:
https://dev.twitter.com/rest/public/rate-limiting
https://dev.twitter.com/rest/public/rate-limits
https://dev.twitter.com/rest/reference/get/application/rate_limit_status
我找不到的信息是如何知道我在POST速率限制方面的位置。阅读https://dev.twitter.com/rest/public/rate-limiting之后,您会认为他们会在标题中向您发送该信息(X-Rate-Limit-Limit等)。以下是您在发帖时回来的示例标题:
数组([x_access_level] =>读写[x_connection_hash] => 5872d62634487fcda6d02ad7ba09f306 [x_content_type_options] => nosniff [x_frame_options] => SAMEORIGIN [x_response_time] => 246 [x_transaction] =&gt ; a960a1986a130b96 [x_twitter_response_tags] => BouncerCompliant [x_xss_protection] => 1; mode = block)
他们说他们会包含的信息,他们只是没有。
此页面https://dev.twitter.com/rest/public/rate-limits不会让您更聪明,因为它只会列出GET速率限制。
最后,我尝试按照此页面https://dev.twitter.com/rest/reference/get/application/rate_limit_status来请求有关我的限制的信息(非常重要的是:我目前处于当前时间段内剩余帖子的位置)。没有任何响应部分可以让您知道您自己的时间轴上还有多少推文。在这里,您可以获得限制信息,您可以拨打此特定电话的频率:
数组([x_access_level] =&gt;读写[x_connection_hash] =&gt; 147c9e14fc999b5c02f6ce425a8f906b [x_content_type_options] =&gt; nosniff [x_frame_options] =&gt; SAMEORIGIN [x_rate_limit_limit] =&gt; 180 [x_rate_limit_remaining ] =&gt; 178 [x_rate_limit_reset] =&gt; 1440932964 [x_response_time] =&gt; 119 [x_transaction] =&gt; bfb31ca44b51d904 [x_twitter_response_tags] =&gt; BouncerCompliant [x_xss_protection] =&gt; 1; mode = block)< / em>
但这仅限于您使用/ application / rate_limit_status的频率。此外,响应中列出的限制中没有一个因POST到其API而降低。
似乎Twitter故意让我们对此毫不在意。或者我没有得到什么?