繁体   English   中英

多个 twitter 用户在一个站点上的提要未达到速率限制

[英]Multiple twitter users' feed on one site without reaching the rate limit

我有大量 twitter 用户我希望使用 PHP 将推文缓存到 MySQL 中的网站上。 但是,当我访问 API 时,我似乎被速率限制问题难住了。 我对每个用户提出的每个请求似乎都算作一个请求,这是有道理的。

我注意到其他网站*成功地完成了这件事。 他们是如何解决这个问题的,他们只是被列入白名单,还是我缺少一种技术?

* http://www.twackle.com/NFL/Aaron-Rodgers_1/tweets

流式 API是您正在寻找的,更具体地说,是过滤器方法。 过滤器,在其最低权限级别,将允许您实时关注 5,000 个用户,而无需他们授权您的应用程序,您也可以使用此方法跟踪多达 400 个关键字。

Now, if you want historical tweets as well, you will have to pull those from the REST API (the streaming API's count parameter doesn't really help here), but since you can only retrieve the last 3200 tweets for a user via the REST API,通过传入计数参数值 200 并相应地分页,您几乎可以通过 16 次调用statuses/user_timeline回填所有可用的推文历史记录。

http://api.twitter.com/1/statuses/user_timeline.json?screen_name=barackobama&count=200&page=2 http://api.twitter.com/1/statuses/user_timeline.json?screen_name=barackobama&count=200&page=3 http://api.twitter.com/1/statuses/user_timeline.json?screen_name=barackobama&count=200&page=4

通过每个 Twitter 帐户每小时 350 个呼叫,您可以每小时回填大约 22 个完整的用户时间线。

在实现方面,您可能会对 Phiehose 感兴趣,它是PHP的流式 API 客户端接口。

在获取推文之前先尝试进行身份验证。 那应该增加速率限制

组合多个 user_timelines 的简单方法是创建一个 Twitter 列表并使用GET /:user/lists/:id/status 单个 API 请求将返回列表中所有用户的最新推文。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM