用R发送推文

时间:2010-11-23 04:08:51

标签: r twitter

几个月前,我在一个演示文稿中看到了一个可爱的R推文演示。演示者使用的临时代码在这里:

http://www.r-bloggers.com/twitter-from-r%E2%80%A6-sure-why-not/

代码简短而甜蜜:     库( “RCurl”)     opts< - curlOptions(header = FALSE,       userpwd =“username:password”,netrc = FALSE)

tweet <- function(status){
  method <- "http://twitter.com/statuses/update.xml?status="
  encoded_status <- URLencode(status)
  request <- paste(method,encoded_status,sep = "")
  postForm(request,.opts = opts)
}

使用此功能,您只需使用更新功能即可发送推文:

tweet("This tweet comes from R! #rstats")

我认为这可能是宣布长期工作完成时的有用方式。我试图在我的机器上运行它,我收到了一些错误:

[1]“\ n \ n不支持基本身份验证\ n \ n” ATTR(“内容类型”)                             字符集 “application / xml”“utf-8” 警告信息: 在postForm(request,.opts = opts)中:没有输入传递给表单

  

我想知道Twitter的这一端是否有一些变化,这会导致此代码产生此错误?我不太了解让R与网页交谈,所以任何指导都非常感谢!!

电子

4 个答案:

答案 0 :(得分:11)

是的,基本身份验证方案已于2010年8月16日停用。您需要将其设置为使用OAuth。不幸的是,这并不像使用基本身份验证那么简单

有关详细信息,请参阅此twitter wiki page;有关R的OAuth,请参阅this StackOverflow question

答案 1 :(得分:9)

除了您展示的代码之外,您还可以在CRAN上找到一个完整的twitteR软件包。

答案 2 :(得分:1)

通过Twitter-API在R中发推文的最简单方法是使用twitteR包。 您可以在此处设置您的Twitter-API-APP:https://apps.twitter.com/

第一步是验证:

11

只是推文(每天限制:2400条推文):

consumer_key <- "yourcredentials"
consumer_secret <- "yourcredentials"
access_token <- "yourcredentials"
access_secret <- "yourcredentials"
setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret)

答案 3 :(得分:-1)

如果twitteR不起作用,或者您只是想尝试自己构建它......

有关如何在httr包的帮助下进行自己的Twitter身份验证和使用API​​的演示,请参阅here