2013-07-31 36 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所必需的。