R中的Twitter身份验证

时间:2014-12-28 19:41:49

标签: r twitter

尝试让Twitter身份验证在R中工作(用于分析推文),但RStudio不响应PIN + get错误消息。

我使用Mac OS X 10.6.8和RStudio版本0.98.1091

这是我使用的代码(包括占位符):

install.packages("twitteR")
library(twitteR)
download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile="my_folder/my_subfolder/http://curl.haxx.se/ca/cacert.pem")


require(twitteR)
download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile="cacert.pem")
requestURL <- "https://api.twitter.com/oauth/request_token"
accessURL = "https://api.twitter.com/oauth/access_token"
authURL = "https://api.twitter.com/oauth/authorize"
consumerKey = "xxxx"
consumerSecret = "yyyyy"
Cred <- OAuthFactory$new(consumerKey=consumerKey,
                     consumerSecret=consumerSecret,
                     requestURL=requestURL,
                     accessURL=accessURL, 
                     authURL=authURL)
Cred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl") )

我明白了: &#34;要启用连接,请将您的网络浏览器指向: https://api.twitter.com/oauth/authorize?oauth_token=bWNevwJNJUPEzKLJwHQsK2uRLN4At5LO 完成后,记录给您的PIN并在此处提供:registerTwitterOAuth(Cred) 错误:需要授权&#34;

当我在控制台中输入PIN时,我只能得到这个:

>1234567

[1] 1234567
然后我试着跑     registerTwitterOAuth(Cred),但在控制台中得到这个:

Error in registerTwitterOAuth(Cred) : 
  oauth has not completed its handshake

不确定我做错了什么或如何获得身份验证/授权。

非常感谢有关此方面的任何帮助。

4 个答案:

答案 0 :(得分:2)

试试这个

library(httk)
library(httpuv)

#browser based authentication
consumer_key <- "xxxxxxxxxxxxxxxxxxxx"
consumer_secret<- "xxxxxxxxxxxxxxxxxxxxxxxxx"
setup_twitter_oauth(consumer_key, consumer_secret, access_token=NULL,access_secret=NULL)

答案 1 :(得分:1)

我在Windows操作系统中使用以下内容进行Twitter身份验证,它运行正常。也许它给了一些方向!

library(RCurl)
library(twitteR)


options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))
reqURL <- "https://api.twitter.com/oauth/request_token"
accessURL <- "https://api.twitter.com/oauth/access_token"
authURL <- "https://api.twitter.com/oauth/authorize"
consumerKey <- "insert your consumer key here"
consumerSecret <- "insert your consumer secret here"
twitCred <-OAuthFactory$new(consumerKey=consumerKey,consumerSecret=consumerSecret,requestURL=reqURL,accessURL=accessURL,authURL=authURL)
twitCred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))
registerTwitterOAuth(twitCred)

答案 2 :(得分:1)

我终于明白了!控制台不允许我在运行代码后复制网址,因此我必须手动输入带有唯一标记的网址。我没有意识到这一点。这有点麻烦,但至少它有效。我遇到其他问题,我在StackOverflow上的其他地方读过,可能是Mac操作系统的一个问题,所以这也可能与它有关。 RStudio似乎与Mac并不相符。

感谢您的帮助!

答案 3 :(得分:0)

确保在您输入的Twitter开发者的应用程序设置中: