我正在使用streamR包从Twitter Streaming API中提取推文。直到最近这个工作正常。现在 - 每当我握手时我都会收到错误。
> 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的必需品。