twitteR ROAuth握手错误:未生成PIN选项

时间:2013-08-09 23:39:42

标签: r twitter twitter-oauth roauth

这个问题实际上回答了与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

感谢任何帮助。

2 个答案:

答案 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"))

这对我有用。