Twitter速率限制API如何与多个帐户一起使用?

时间:2010-02-23 23:22:27

标签: twitter twython

我知道有Rest API to check the Twitter rate limit

总结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 个答案:

答案 0 :(得分:1)

您需要将ClientName属性设置为每次调用都不同。我剪切并粘贴了Scott Hanselmann's examples on Twitter中的一个,因为ClientName设置为TweetSandwich,我立即获得了20,000的速率限制 - 所以我认为Twitter使用ClientName属性来分配费率而不是经过身份验证的用户,除非ClientName默认为IP地址时为空。