2010-11-23 153 views
3

幾個月前,我在演示中看到了來自R的推文的可愛演示。由演講者使用的刮代碼是在這裏:使用R發送推文

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

代碼是簡單明瞭: 庫( 「RCurl」) 選擇採用< - curlOptions(標題= FALSE, userpwd =「用戶名:密碼

tweet("This tweet comes from R! #rstats") 
:」 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

我認爲這可能是宣佈長時間工作完成的有用方式。我想我的機器上運行此,我得到了一些錯誤:

[1] 「\ n \ n基本身份驗證,不支持\ n \ n」 個 ATTR( 「內容類型」) 字符集 「應用程序/ xml」 的 「UTF-8」 警告消息: 在postForm(請求,.opts = OPTS):無輸入傳遞到形成

我想知道是否有已經對一些變化嘰嘰喳喳結束,這使得這段代碼產生這個錯誤?我不太瞭解讓R與網頁交談,所以任何指導都非常感謝!

Ë

回答

11

是,基本的身份驗證方案已於2010年8月16日關閉。您需要將其設置爲使用OAuth。不幸的是幾乎沒有使用基本身份驗證一樣簡單

請參閱本twitter wiki page以獲取更多信息和this StackOverflow question瞭解OAuth爲R.

9

除此之外,您還顯示代碼,還有一個完全成熟的twitteR包在CRAN你可以看看。

-1

如果twitteR不工作,或者你只是想嘗試建立它自己...

對於如何與HTTR包的幫助下做你自己的Twitter認證和使用API​​的演示中看到here

0

通過Twitter-API推送R的最簡單方法是使用twitteR包。 您可以在這裏設置你的Twitter的API-APP:https://apps.twitter.com/

第一步是身份驗證:

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

而就在推特(每天限:2400鳴叫):

tweet("Hello World")