这个问题实际上回答了与twitteR ROAuth问题相关的所有问题:
TwitteR, ROAuth and Windows: register OK, but certificate verify failed
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
感谢任何帮助。
答案 0 :(得分:1)
Twitter应用程序必须具有读取,写入权限。这是让我绕过授权错误的原因。请注意以下说明:
在http://dev.twitter.com创建Twitter应用程序。确保应用程序具有读取,写入和直接消息权限。 请注意Twitter应用页面中的以下值:&#34; API密钥&#34;,&#34; API密码&#34;,&#34;访问令牌&#34;和&#34;访问令牌密钥& #34;
install.packages(c(&#34; devtools&#34;,&#34; rjson&#34;,&#34; bit64&#34;,&#34; httr&#34;)) 确保此时重新启动R会话
库(devtools) install_github(&#34; twitteR&#34;,username =&#34; geoffjentry&#34;) 库(TWITTER) setup_twitter_oauth(&#34; API密钥&#34;,&#34; API密码&#34;)
API密钥和API密码来自上面的Twitter应用页面。这将引导您完成httr的OAuth身份验证过程。我建议您查看httr中Token的手册页,了解它如何处理缓存。
你应该准备好了!
答案 1 :(得分:0)
twitCred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))
这对我有用。