1

我知道有一个Rest API 可以检查 Twitter 速率限制

总结政策:IP 150,每个非白名单帐户 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)?我只在我的应用程序中使用了一个帐户,那么为什么两个帐户都显示减少?

4

1 回答 1

1

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

于 2010-02-27T02:14:57.790 回答