2013-07-31 97 views
3

我正在使用streamR軟件包從Twitter Streaming API中獲取推文。直到最近這個工作都很好。現在 - 每當我握手時我都會收到錯誤信息。ROAuth發生未經授權的錯誤

> library(ROAuth) 
> reqURL <- "https://api.twitter.com/oauth/request_token" 
> accessURL <- "https://api.twitter.com/oauth/access_token" 
> authURL <- "https://api.twitter.com/oauth/authorize" 
> consumerKey <- "<myconsumerkey>" 
> consumerSecret <- "myconsumersecret>" 
> my_oauth <- OAuthFactory$new(consumerKey=consumerKey,consumerSecret=consumerSecret,requestURL=reqURL,accessURL=accessURL,authURL=authURL) 
> my_oauth$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")) 
Error: Unauthorized 

我已經嘗試在dev.twitter.com上重新創建一個新的應用程序,我仍然得到相同的錯誤。我試圖改變回調URL和訪問級別 - 但沒有用。我也嘗試從github使用ROAuth的主分支。任何想法,我哪裏錯了?我正在使用R 3.0.1

+0

現在是否適合您?我最近有同樣的問題。但它在另一臺筆記本電腦或服務器上運行良好。 –

回答

0

我有同樣的問題。下面的命令序列解決了這個問題:

consumerKey <- ... 
consumerSecret <- ... 
twitCred <- getTwitterOAuth(consumer_key= consumerKey, consumer_secret=consumerSecret) 
searchTwitter() 

注意我沒有使用registerTwitterOAuth(twitCred)。我想如果你想保存並且以後加載twitCred你必須在加載後使用registerTwitterOAuth(twitCred)

我希望這會有所幫助。

P.S.由於我使用的是Mac,因此我沒有使用cacert.pem文件。我認爲這只是Windows所必需的。