2

是否可以使用 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功能发布由文本组成的状态,但是是否有类似的功能可以让您通过转发另一个状态来更新您的状态?

4

2 回答 2

0

我在尝试制作转发机器人时遇到了完全相同的问题。Pythontweepytwython最近似乎不太好用,但是 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_tweetclass status 的一个对象。这似乎阻止updateStatus()了将其解释为可以转发的字符串。我尝试unlist()并使用它来操作它,gsub()但还没有找到一个好的解决方案。如果我这样做,我会让你知道(我希望如果你这样做,你会告诉我)。

于 2015-01-31T10:17:39.883 回答
0

这应该可以解决问题:

updateStatus(favorite_tweet[[1]]$text)

请注意,您的 favorite_tweet 仍然是一个列表,因此最好这样做:

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

它摆脱了无关的索引。

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

于 2015-06-14T04:01:55.090 回答