3

我正在使用 streamR 包从 Twitter 流 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 的 master 分支。知道我哪里出错了吗?我正在使用 R 3.0.1

4

1 回答 1

0

我有同样的问题。以下命令序列解决了该问题:

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

注意我没有使用registerTwitterOAuth(twitCred). 我认为如果您想保存并稍后加载twitCred,则必须registerTwitterOAuth(twitCred)在加载后使用。

我希望这有帮助。

PS由于我使用的是Mac,所以我没有使用该cacert.pem文件。我认为这只是 Windows 所必需的。

于 2013-10-11T23:56:08.747 回答