Tyler Beason
Tyler Beason

Reputation: 193

TwitteR setup_twitter_oauth() failing

I was following the vignette for the package, updated and loaded all necessary packages, seemed like it would be a pretty straight-forward process to authenticate. Instead, I get an error

> setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret)
[1] "Using direct authentication"
Error in check_twitter_oauth() : OAuth authentication error:
This most likely means that you have incorrectly called setup_twitter_oauth()'

My paraphrased and redacted program looks more-or-less like this.

library("twitteR")
download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile="cacert.pem") #read this was necessary for Windows machines
consumer_key <- 'abc'
consumer_secret <- 'abc'
access_token <- '123-abc'
access_secret <- 'abc'
setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret)

I read a lot of the other SO questions on this topic, nothing solved my issue (most of them used the old authentication process anyway). I'm trying to create a wordcloud following this tutorial.

Upvotes: 16

Views: 31936

Answers (11)

Ratul
Ratul

Reputation: 401

Faced the same problem. Then realized that I was not logged into Twitter (from default browser). Logged in to Twitter and everything worked perfectly.

Upvotes: 0

Funkwecker
Funkwecker

Reputation: 814

Just (install and) load the package 'base64enc'.

Upvotes: 21

cloudscomputes
cloudscomputes

Reputation: 1484

Adding proxy fix my issue hope this would have some others issue fixed

provided you already have a proxy, then input the following line:

proxy_url <- "http://127.0.0.1:61387/"
Sys.setenv(http_proxy = proxy_url, https_proxy = proxy_url, ftp_proxy = proxy_url)

note:change the settings to your own

Upvotes: 0

Ashish Tyagi
Ashish Tyagi

Reputation: 847

The problem for me was that my curl was out-of-date, so it wasn't able to verify the SSL certificate it was receiving. All I had to do is update curl (simply conda update curl if you're using anaconda) and oauth worked perfectly after that.

Upvotes: -1

frank
frank

Reputation: 3608

I used a different wireless network (which was less secure) and this worked for me

Upvotes: 0

Brindha Nagarajan
Brindha Nagarajan

Reputation: 31

Just check your firewall settings and allow R through.

I tried all the the different solutions mentioned regarding packages , etc. None of them worked. I finally found that it is nothing but a simple firewall issue. I recommend that everybody who faces this issue first check their firewall settings. Make sure that R is added in the list of applications allowed through the firewall. This should solve the issue.

Upvotes: 3

John Mutuma
John Mutuma

Reputation: 3610

I tried all the suggestions here but surprisingly none worked for me. Somebody could be going through the same situation as I did so I answer with what worked for me- it seems that the problem was with direct authentication, so I followed the following steps(this requires one to have the openssl package) installed and loaded along with the twitteR package;

Ensure you have created your twitter API and have the consumerkey and consumerSecret codes, and preferably remain logged into twitter with your default web browser

packages <- c("twitteR", "openssl")
### checking if packages are already installed and installing if not
for(i in packages){
    if(!(i %in% installed.packages()[, "Package"])){
        install.packages(i)
    }
library(i, character.only = TRUE) ## load packages
}

setup_twitter_oauth(consumer_key, consumer_secret) ## do not input the access_token and access_secret

This is going to open up your default browser with the successful authentication message. You can close the browser now and continue exploring tweets with R.

Upvotes: 2

Saurabh Singh
Saurabh Singh

Reputation: 56

I had to do the following settings to make this work

package versions : base64enc_0.1-3 httr_1.2.1 twitteR_1.1.8

installed twitteR using command: devtools::install_github("jrowen/twitteR", ref = "oauth_httr_1_0")

And i had an existing app which didnt work so i went ahead a created a new app on twitter.

This combination works for me

Upvotes: 3

Sam Divya Kumar
Sam Divya Kumar

Reputation: 11

Try to regenerate the consumer key and access_token keys. I also faced the similar problem. Nothing resolved my problem. But after I regenerated the keys and used the new keys its resolved and works beauty.

Upvotes: 1

jcel
jcel

Reputation: 29

install.packages("base64enc") was what solved this issue for me.

Upvotes: 2

API
API

Reputation: 490

I encountered the same problems, and after so many attempts.

I found this issue https://github.com/geoffjentry/twitteR/issues/90, where 'jrowen' suggested a work-around that solved my problem. The issue apparently is caused by the new httr package, but the work-around is to install the twitteR package from GitHub instead of the cran repository using this command:

devtools::install_github("jrowen/twitteR", ref = "oauth_httr_1_0")

After this, the problem of OAuth authentication error disappeared. Hope this also works for you.

Upvotes: 1

Related Questions