2

这个问题实际上回答了所有与 twitteR ROAuth 问题相关的问题:

TwitteR、ROAuth 和 Windows:注册成功,但证书验证失败

TwitteR 和 ROAuth 之前都在我的电脑上完美运行。但是代码块不再生成 PIN 选项。它弹出以下内容:

twitCred$handshake(cainfo="cacert.pem")
Error: Unauthorized

以前twitCred$handshake(cainfo="cacert.pem")指向:

To enable the connection, please direct your web browser to: 
https://api.twitter.com/oauth/authorize?oauth_token=SevxcpCh9riO5PPrI8U8____
When complete, record the PIN given to you

我在 spark rstudio 服务器中尝试了我的代码。然后代码完美运行(生成输入 PIN 的选项,目前在我的电脑中没有生成)。代码是:

require(twitteR)
require(ROAuth)

requestURL <- "https://api.twitter.com/oauth/request_token"
accessURL <- "https://api.twitter.com/oauth/access_token"
authURL <- "https://api.twitter.com/oauth/authorize"
consumerKey <- "______________"
consumerSecret <- "___________________"


twitCred <- OAuthFactory$new(consumerKey=consumerKey,
consumerSecret=consumerSecret, requestURL=requestURL, accessURL=accessURL,
authURL=authURL)


setwd("/home/__")
download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile="cacert.pem")
twitCred$handshake(cainfo="cacert.pem")
  To enable the connection, please direct your web browser to: 
  https://api.twitter.com/oauth/authorize?oauth_token=SevxcpCh9riO5PPrI8U8____
  When complete, record the PIN given to you

任何帮助表示赞赏。

4

2 回答 2

1

Twitter 应用程序必须具有读、写权限。这就是让我绕过授权错误的原因。请注意以下说明:

在http://dev.twitter.com创建一个 Twitter 应用程序。确保授予应用读取、写入和直接发送消息的权限。 请注意 Twitter 应用页面中的以下值:“API 密钥”、“API 机密”、“访问令牌”和“访问令牌机密”。

install.packages(c("devtools", "rjson", "bit64", "httr")) 确保此时重新启动您的 R 会话

library(devtools) install_github("twitteR", username="geoffjentry") library(twitteR) setup_twitter_oauth("API key", "API secret")

API 密钥和 API 机密来自上面的 Twitter 应用程序页面。这将引导您完成 httr 的 OAuth 身份验证过程。我建议您查看 httr 中 Token 的手册页,以了解它如何处理缓存。

你应该准备好了!

于 2014-11-20T10:37:02.287 回答
0
twitCred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))

这对我有用。

于 2014-05-04T10:48:20.167 回答