24

我发现了这个问题。但是我认为这在 API 1.1 版上有所改变。

如果我使用该search/tweets方法,如何查看该推文是否为 RT?我看到该retweeted字段总是返回false。我可以使用另一个字段来回答这个问题吗?

4

9 回答 9

43

如果是转推,则推文将包含一个名为 的属性retweeted_status。完整地说,retweeted_status如果推文不是转推,则不会出现。更多信息在:推文

于 2013-09-21T20:26:01.433 回答
4

通过简单地检查属性名称

“转推状态”

如果你没有找到,那么它不是 RT。

于 2017-12-26T11:47:21.620 回答
3

正如@Joe Mayo 所说,检查retweeted_status状态对象上的键。

我有一个没有被@Apoorv Ashutosh 的建议抓住的例子。

请参阅:https ://twitter.com/gppvt/status/474162466776449024这将重定向(因为它是转推)到原始推文。但是,如果您通过 twitter API 获得这条推文,它有retweeted_status. 请注意,文本不包含“RT”。

于 2014-06-04T15:48:23.110 回答
2

如果转推不是使用转推按钮而是通过 RT 完成,则转推字段为假,因此在这种情况下,只需在所有推文的“文本”字段中搜索此模式

RT @

这种模式可能会有所帮助,但我认为没有任何其他功能。

于 2014-01-06T09:55:55.237 回答
2

如果收到的推文被转发,该retweeted_status属性将存在,​​否则您将收到AttributeError错误消息。在这种情况下,您想摆脱转发的推文:

def on_status(self, status):
    try:
        print "Retweeted ************* \n" + str(status.retweeted_status)
        return 
    except AttributeError:
        print "there is no attribut with name retweeted_status"
于 2018-06-06T12:33:39.643 回答
1

确保您的“转发推文”实际上不是另一条推文的引用。在这种情况下,我必须使用该quoted_status字段来获取原始推文,而不是那个retweeted_status

于 2019-12-10T16:29:30.280 回答
1

只是为了补充一点。(使用 twitter gem(红宝石语言))

您可以通过检查推文然后从 retweeted_status 哈希中获取您需要的内容来检查它是否是转推

t = client.status(#########) #function that obtains tweet based on ID where # = tweet ID
puts t.retweeted_status? # returns true or false
t.retweeted_status # returns the actual hash for that
于 2017-03-07T15:42:43.767 回答
1

对于使用Hydrator1并依赖其CSV导出水合JSONL文件的人:您可以检查reweet_id(不,这不是 version 中的错字0.0.12),如果是,NA那么它就是我发现的原始推文。

original_twitter_tweets = twitter_csv_data %>% filter(is.na(reweet_id))
于 2020-07-15T08:48:42.073 回答
1

正如其他人所提到的,您可以检查该retweeted_status属性是否存在于该推文的响应子字段中。

但是,根据 API 的当前版本,每个 Tweet 对象都有一个retweeted存储布尔值(True 或 False)的字段,该字段将告诉您 Tweet 是否已被转发。

于 2018-12-06T09:05:13.130 回答