Twitter API - 发布最爱/创建特定费率限制

时间:2018-04-28 22:48:45

标签: javascript node.js rest twitter rate

我的脚本因message undefined错误而崩溃,我在这里得到了回答:TypeError: Cannot read property 'message' of undefined - Twitter API

事实证明,在达到速率限制时,错误消息的传递方式不同,因此console.log('Try Favorite - ', err[0].message);会返回错误,除非更改为console.log('Try Favorite - ', err.message);

现在输出为[[Apr 28 22:26:01.024]] [LOG] Try Favorite - HTTP Error: 429 Too Many Requests表示速率限制,但是,我没有找到明确的速率限制。

POST限制的所有文档都是状态1000,但是,我在lat 8小时的过程中计算总数为22,所以奇怪的是它的速率有限。

有没有人有更清晰的文件?我找到的所有链接似乎已经死了。

我也可以补充说,只有收藏夹受到影响,所有其他请求都正常。

编辑:添加最近的输出。 Undefined将为You already ____ed this tweet,但是,由于临时更改以防止应用崩溃,因此消息未定义。

[[Apr 28 23:57:00.560]] [LOG]   Try Favorite -  HTTP Error: 429 Too Many Requests
[[Apr 28 23:57:00.562]] [LOG]   Try Favorite -  HTTP Error: 429 Too Many Requests
[[Apr 28 23:57:00.563]] [LOG]   Try Favorite -  HTTP Error: 429 Too Many Requests
[[Apr 28 23:57:00.564]] [LOG]   Try Favorite -  HTTP Error: 429 Too Many Requests
[[Apr 28 23:57:00.575]] [LOG]   Try Favorite -  HTTP Error: 429 Too Many Requests
[[Apr 28 23:57:00.578]] [LOG]   Try Retweet -  undefined
[[Apr 28 23:57:00.583]] [LOG]   Try Favorite -  HTTP Error: 429 Too Many Requests
[[Apr 28 23:57:00.584]] [LOG]   Try Retweet -  undefined
[[Apr 28 23:57:00.589]] [LOG]   Try Favorite -  HTTP Error: 429 Too Many Requests
[[Apr 28 23:57:00.592]] [LOG]   Try Retweet -  undefined
[[Apr 28 23:57:00.593]] [LOG]   Try Retweet -  undefined
[[Apr 28 23:57:00.599]] [LOG]   Try Retweet -  undefined
[[Apr 28 23:57:00.604]] [LOG]   Try Retweet -  undefined
[[Apr 28 23:57:00.609]] [LOG]   Try Retweet -  undefined
[[Apr 28 23:57:00.619]] [LOG]   Retweeted: https://twitter.com/username/status/90374******24768
[[Apr 28 23:57:00.634]] [LOG]   Try Retweet -  undefined
[[Apr 28 23:57:00.671]] [LOG]   Try Retweet -  undefined
[[Apr 28 23:57:00.754]] [LOG]   Try Favorite -  HTTP Error: 429 Too Many Requests
[[Apr 28 23:57:00.800]] [LOG]   Favorited:  https://twitter.com/username/status/99037*******48615

编辑:知道我明显超过了速率限制,但是这个问题在今天工作5天之前才出现。转发仍在返回You have already retweeted this tweet,而收藏夹返回状态429。

编辑:尝试了另一个只有状态/转发请求的测试用户,经历了罚款。尝试使用不同的测试用户(以避免上次测试使用)收藏夹/创建并运行第一个间隔,然后在第2个请求后立即对每2分钟5个请求进行速率限制,这意味着我受限于7个收藏夹/每4分钟创建一次请求。

这让我相信收藏夹有一个特定的限制,但是,这个确切的时间间隔在前5天工作时仍然不清楚。

2 个答案:

答案 0 :(得分:1)

根据twitter documentation,标准帐户的限制是每个费率限制窗口15个请求,即15分钟。因此,如果您在15分钟内发送22个请求,则超出限制。

  

标准API的速率限制主要基于每个用户 -   或者更准确地描述每个用户访问令牌。如果一个方法   每个速率限制窗口允许15个请求,然后允许15个   每个访问令牌的每个窗口请求。

     

使用仅应用程序身份验证时,确定速率限制   全局用于整个应用程序。如果方法允许15   请求每个速率限制窗口,然后它允许您发出15个请求   每个窗口 - 代表您的应用程序。考虑此限制   完全独立于每个用户的限制。

如果您希望提高结算限额premium APIs

答案 1 :(得分:0)

似乎没有任何记录的收藏夹/创建特定限制,但是,今天似乎一切都好。由于Twitter System Status页面未发布任何更新,因此未完全清楚发生了什么。

  

帐户POST请求的当前技术限制为:

     
      
  • 直接消息(每日):限制为每天发送1,000条消息。推文:每天2,400。每日更新限制进一步细分   半小时间隔的较小限制。转推被视为   推文。帐户电子邮件的更改:每小时4次。
  •   
  • 以下(每日):技术跟踪限制为每天1,000。请注意,这只是技术帐户限制,并且有   禁止侵略性跟随行为的其他规则。阅读   遵守限制和禁止的行为。
  •   
  • 关注(基于帐户):一旦帐户关注5,000个其他帐户,其他关注尝试将受到限制   特定帐户的比率。这些限制包括所有人的行动   设备,包括网络,移动,电话,API等所有API请求   根据每小时API限制跟踪第三方应用程序。   使用其帐户使用多个第三方应用程序的用户   因此将更快地达到API限制。
  •   
     

在网站使用量很大的时候,这些限制可能会暂时降低。在这种情况下,我们会在Twitter上发布更新状态   站点。

     

话虽如此,当时似乎有可能减少限制   但没有报道。

同样,请参阅Marco上面的回答,了解有关Premium API的有用信息。

GET速率限制也可以找到here,并且稍微扩展一下,但文档并未说明单个POST选项比其他选项更受限制。