使用twitteR转发

时间:2015-01-14 16:40:03

标签: r twitter twitter-r

是否可以使用twitteR包(或一般只是R)转发状态?

例如,如果我导入一堆推文,我想转推其中一条:

library(twitteR)

# load ROAuth handshake (authorization to interact with Twitter) and check if connection to twitter is established
load(file = "twitteR_credentials")
registerTwitterOAuth(twitCred)

# search Twitter for 25 tweets containing the term '#twitter' and take the first one
tweets = searchTwitter('#twitter', n=25)
favorite_tweet = tweets[1]

# is there a function that lets me retweet favorite_tweet to my own timeline?

我知道您可以使用updateStatus功能发布包含文字的状态,但是是否有类似的功能可让您通过转发其他状态来更新您的状态?

2 个答案:

答案 0 :(得分:0)

我有一个完全相同的问题,试图制作转推机器人。 Python的tweepytwython最近看起来并不好看,但R与Twitter的API很好地连接。我可以updateStatus("hello world!")好吧,但是当我尝试像您的示例中那样执行updateStatus(favorite_tweet)之类的操作时,我会收到此错误:

[1] "Authorization Required"
Error in twInterfaceObj$doAPICall("statuses/update", params = params,  : 
  Error: Authorization Required

显然,因为在同一个会话中,我能够updateStatus("hello world!")出现问题。他们有我的授权,而且工作得很好。

我能弄清楚的最好的是favorite_tweetan object of class status。这似乎阻止updateStatus()将其解释为可以转发的字符串。我尝试unlist()并使用gsub()进行操作,但还没有找到一个好的解决方案。如果我这样做,我会告诉你(如果你这样做,我希望你能告诉我)。

答案 1 :(得分:0)

这应该可以解决问题:

updateStatus(favorite_tweet[[1]]$text)

请注意,您的favorite_tweet仍然是一个列表,因此可能稍微好一些:

favorite_tweet = tweets[[1]]
updateStatus(favorite_tweet$text)

摆脱了无关的索引。

关键是,你想要转发推文的文本内容,而不是推文对象本身。