Anne Boysen
Anne Boysen

Reputation: 105

Twitter Authentication in R

Trying to get Twitter authentication to work in R (for analyzing tweets), but RStudio does not respond to the PIN + get error messages.

I use Mac OS X 10.6.8 and RStudio Version 0.98.1091

Here's the code I'm using (incl. placeholders):

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

I get this: "To enable the connection, please direct your web browser to: https://api.twitter.com/oauth/authorize?oauth_token=bWNevwJNJUPEzKLJwHQsK2uRLN4At5LO When complete, record the PIN given to you and provide it here: registerTwitterOAuth(Cred) Error: Authorization Required"

When I enter the PIN in the console I only get this:

>1234567

[1] 1234567

I then try to run registerTwitterOAuth(Cred), but get this in the console:

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

Not sure what I am doing wrong or how I can obtain authentication/authorization.

Very thankful for any help on this.

Upvotes: 2

Views: 2667

Answers (4)

Saurabh Yadav
Saurabh Yadav

Reputation: 365

try this

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)

Upvotes: 2

Augusto
Augusto

Reputation: 11

Make sure that in the Application Settings of Twitter Developers you entered:

Upvotes: 0

Anne Boysen
Anne Boysen

Reputation: 105

I finally figured it out! The console won't let me copy the url after running the code, so I have to type the url with the unique token by hand. I wasn't aware of this. It's a little cumbersome, but at least it works. I'm running into other problems, which I read elsewhere on StackOverflow, might be a problem with Mac's operative system, so this might be linked to it as well. RStudio doesn't seem to jive to well with Mac.

Thanks for all the help!

Upvotes: 1

user4359255
user4359255

Reputation:

I used the following for Twitter authentication in Windows OS, and it works fine. Maybe it gives some direction!

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)

Upvotes: 1

Related Questions