Как API ограничения скорости Twitter работает с несколькими аккаунтами? - PullRequest
1 голос
/ 24 февраля 2010

Я знаю, что есть Rest API для проверки ограничения скорости Twitter .

Подводя итог policy : 150 для IP и 150 для учетной записи, не входящей в белый список, за исключением поисков (которые являются только IP).

Тем не менее, мое приложение использует Twython, прошедшее проверку подлинности, но, по-видимому, ограничение уменьшается для обеих моих учетных записей при его использовании. Пример:

Без аутентификации:

$ wget http://api.twitter.com/1/account/rate_limit_status.xml -O -
<?xml version="1.0" encoding="UTF-8"?>
<hash>
  <hourly-limit type="integer">150</hourly-limit>
  <reset-time-in-seconds type="integer">1266968961</reset-time-in-seconds>
  <reset-time type="datetime">2010-02-23T23:49:21+00:00</reset-time>
  <remaining-hits type="integer">134</remaining-hits>
</hash>

Аутентификация с учетной записью № 1:

$ wget --user b... --password=youwish http://api.twitter.com/1/account/rate_limit_status.xml -O -
<?xml version="1.0" encoding="UTF-8"?>
<hash>
  <reset-time-in-seconds type="integer">1266968961</reset-time-in-seconds>
  <reset-time type="datetime">2010-02-23T23:49:21+00:00</reset-time>
  <remaining-hits type="integer">134</remaining-hits>
  <hourly-limit type="integer">150</hourly-limit>
</hash>

Аутентификация с использованием учетной записи № 2:

$ wget --user d... --password=youwish http://api.twitter.com/1/account/rate_limit_status.xml -O -
<?xml version="1.0" encoding="UTF-8"?>
<hash>
  <reset-time type="datetime">2010-02-23T23:49:21+00:00</reset-time>
  <remaining-hits type="integer">134</remaining-hits>
  <hourly-limit type="integer">150</hourly-limit>
  <reset-time-in-seconds type="integer">1266968961</reset-time-in-seconds>
</hash>

Вы видите, как у обоих аккаунтов одинаковая информация об ограничении скорости (134/150)? Я использовал только одну учетную запись в своем приложении, так почему обе учетные записи показывают уменьшение?

1 Ответ

1 голос
/ 27 февраля 2010

Вам необходимо установить свойство ClientName как разное для каждого вызова. Я вырезал и вставил один из примеров Скотта Хансельмана в Twitter , и поскольку для ClientName было задано значение TweetSandwich, мне мгновенно дали ограничение в 20000 - поэтому я считаю, что Twitter использует свойство ClientName для распределения ставок, а не аутентифицированный пользователь, если только ClientName пусто, когда по умолчанию используется что-то вроде IP-адреса.

...