是否可以使用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
功能发布包含文字的状态,但是是否有类似的功能可让您通过转发其他状态来更新您的状态?
答案 0 :(得分:0)
我有一个完全相同的问题,试图制作转推机器人。 Python的tweepy
和twython
最近看起来并不好看,但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_tweet
是an object of class status。这似乎阻止updateStatus()
将其解释为可以转发的字符串。我尝试unlist()
并使用gsub()
进行操作,但还没有找到一个好的解决方案。如果我这样做,我会告诉你(如果你这样做,我希望你能告诉我)。
答案 1 :(得分:0)
这应该可以解决问题:
updateStatus(favorite_tweet[[1]]$text)
请注意,您的favorite_tweet仍然是一个列表,因此可能稍微好一些:
favorite_tweet = tweets[[1]]
updateStatus(favorite_tweet$text)
摆脱了无关的索引。
关键是,你想要转发推文的文本内容,而不是推文对象本身。