Я создаю веб-приложение Twitter на PHP с использованием TwitterOAuth, и вскоре я пошел против ограничения скорости.
Объект stdClass ([errors] => Array ([0] => Объект stdClass ([code] => 185 [message] => Пользователь превысил суточный лимит обновления статуса.)))
что я делаю (в API v1.1)
статусы / ретвит /: 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, ect). Вот пример заголовка, который вы получаете, когда делаете сообщение:
Массив ([x_access_level] => чтение-запись [x_connection_hash] => 5872d62634487fcda6d02ad7ba09f306 [x_content_type_options] => nosniff [x_frame_options] => SAMEORIGIN [x_conse__________>] >_t___> __ >_t__t_0__t_0_0_0_0_0_0_0_0_0_0_0_0_1_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_16_перечисления > 1; режим = блок)
Информация, которую они сказали, что они будут включать, они просто не делают.
Эта страница https://dev.twitter.com/rest/public/rate-limits не делает вас умнее, так как в нем перечислены только ограничения скорости GET.
Наконец я попытался перейти на эту страницу https://dev.twitter.com/rest/reference/get/application/rate_limit_status запрашивать информацию о моих лимитах (и очень важно: где я сейчас нахожусь с точки зрения количества оставшихся постов в текущем периоде времени). Ни одна из частей ответа не позволяет узнать, сколько твитов к вашей временной шкале вы можете сделать. Здесь, кстати, вы действительно получаете информацию об ограничении, как часто вы можете звонить этот конкретный вызов:
Array ([x_access_level] => чтение-запись [x_connection_hash] => 147c9e14fc999b5c02f6ce425a8f906b [x_content_type_options] => nosniff [x_frame_options] => SAMEORIGIN [x_rate_limit_limit] => 180 [x_rate_limit_remaining] => 178 [x_rate_limit_reset] => 1440932964 [x_response_time] => 119 [x_transaction] => bfb31ca44b51d904 [x_twitter_response_tags] => BouncerCompliant [x_xss_protection] => 1; режим = блок)
Но это учитывает только то, как часто вы можете использовать / application / rate_limit_status. Кроме того, ни одно из перечисленных ограничений в ответе не уменьшается на POST для их API.
Кажется, Твиттер намеренно оставляет нас в неведении об этом. Или что я не получаю?
Задача ещё не решена.
Других решений пока нет …