如何获取Twitter中所有转发的列表?

时间:2011-06-11 15:49:57

标签: twitter

我见过很多公司都在做推特彩票,用户必须转发他们的推文,然后其中一位转发者会得到奖品或其他什么。 我现在想知道他们如何获得所有转发者的名单或选择获胜者?

我检查了Twitter API,发现只有这个东西:GET statuses/retweets/:id但它最多返回100个转发器。这是唯一的方法吗?

4 个答案:

答案 0 :(得分:17)

看起来好像有几个服务在那里做几乎就是这样。一个快速的谷歌拉出http://onekontest.com/,还有一些其他Twitter比赛服务,但它们似乎都是不同的破坏程度,因为他们没有跟上API的变化。

就Twitter API本身而言,如果您期待超过100个回复,我认为使用GET statuses/mentions最有意义。该API调用会返回用户的任何提及,您可以传递标记include_rts以包含推文的任何转发。然后,如果要列出特定推文的RT,可以检查返回数据中的in_reply_to_status_id字段,看它是否与原始推文ID匹配。此API调用仅返回最后800个状态,一次200个,因此如果您需要大量数据,则需要重复轮询API以获取所有推文。我想像favstar这样的服务就是这样做的,只是规模更大。

如果您实际上正在寻找代码来做这样的事情,我写了一个名为twitter-rss-digest的sinatra应用程序,它随着时间的推移处理Twitter以跟踪不同类型的查询。它非常粗糙,并没有特别处理这个问题,但如果你想编写代码,它可能会指向你正确的方向。

答案 1 :(得分:6)

有一种API方法最多可以返回100个条目的光标集合(因此您可以翻阅它以获取更多信息)。

有关GET statuses/retweeters/ids的Twitter开发者网站的更多信息,但您还需要阅读有关Using cursors to navigate collections的网页。

请注意,由于历史原因,that endpoint only returns 100 results。 Twitter拒绝解决这个问题。

2013注意

也就是说,开发人员网站上第一个出现在快速google网站上的帖子有@episod,一名Twitter员工说:

  

你不可能得到所有这些。数据分散开来。您最好的办法是使用REST API来确定执行转发的许多用户,但数据仍然受到限制。

     

最简单的方法是跟踪转发情况,而不是尝试从过去找到它们。请使用Streaming API

答案 2 :(得分:2)

我喜欢muffinista的方法,但我认为如果你想要一个100%完整的转推列表,只需启用转推电子邮件通知并编写一个脚本,轮询电子邮箱,找到符合主题的人“转发你的推文之一!”并将数据放入表中。从一开始就这样做。

答案 3 :(得分:1)

网站https://twren.ch/会针对特定推文征集所有转发者(请注意,它只会邀请直接关注源推特的转发者。)然而,它可能是唯一可用的公共资源。