Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Twitter API获取帐户的总转发次数_Twitter - Fatal编程技术网

使用Twitter API获取帐户的总转发次数

使用Twitter API获取帐户的总转发次数,twitter,Twitter,我们是否可以在用户级别获得每个帐户的总转发次数或每个屏幕名的类似粉丝数,因为粉丝数是与用户信息相关联的属性,其中as转发次数是与每个Tweet相关联的字段。 我想我需要获得一个用户的所有tweet,然后在每个&每个用户收到的tweet中添加提交的Retweet\u计数。这里的问题是,使用twitter rest api获取的推文总数限制在最后的200推文(这些200推文中只有2周的旧推文) 我们找不到使用流式API的历史推文,如果我们在本地数据库中使用流式API存储所有实时推文,那么使用本地数据

我们是否可以在用户级别获得每个帐户的总转发次数或每个屏幕名的类似粉丝数,因为粉丝数是与用户信息相关联的属性,其中as转发次数是与每个Tweet相关联的字段。 我想我需要获得一个用户的所有tweet,然后在每个&每个用户收到的tweet中添加提交的Retweet\u计数。这里的问题是,使用twitter rest api获取的推文总数限制在最后的200推文(这些200推文中只有2周的旧推文)

我们找不到使用流式API的历史推文,如果我们在本地数据库中使用流式API存储所有实时推文,那么使用本地数据库中每个推文记录的id,我们需要调用推文rest API调用(获取状态/show/:id)在一个循环中,然后在该循环中添加所有的转发计数值。但是由于这个原因,restapi调用的数量正在增加,以获取总转发计数


请告诉我更好的方法。

不,那根本不可能

由于
retweet\u计数
与每个
tweet
关联,因此您需要首先获取所有tweet

我之所以说这是不可能的,是因为如果一个用户有超过3200条tweet,那么你就无法获得准确的转发次数,因为twitter通过
获取状态/user\u时间线
只提供了3200条用户最近的tweet

获取状态/用户\时间线方法最多只能返回3200个 用户最近的推文。用户对其他状态的本地转发 无论是否包含,用户都包含在此总数中 请求此资源时设置为false


还有一件事。有些tweet
retweet\u count
可能会不时变化。我的意思是,有些可能会撤销retweet&有些可能会转发旧tweet或过去一周的tweet。因此,你需要一次又一次地检索所有tweet,以准确的
retweet\u count
更新到最新日期。通过这样做,你有更多的机会落入
Twitter速率限制

谢谢Raj,你提到过,因为我们只收到最近3200条推文,rest api调用get statuses/show/:如果我们提供的最早推文的id超过3200条,那么id就提供最早的推文?为了显示我们本地项目中任何用户的转发次数和提及次数,对我们来说是不可能的。@Prab哈,是的,你可以得到。但是,想想你将如何获得这些ID?如果你使用任何其他API来获得ID,那么就有了速率限制。此外,如果一个用户有4000条推文,那么你需要一次又一次地回忆最新的推文数量和提及次数。你可以自己尝试,但我肯定这不能做到,因为速率限制,推文说可用性和性能问题。