几个月前,我在一个演示文稿中看到了一个可爱的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与网页交谈,所以任何指导都非常感谢!!
电子
答案 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)