问题
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.
回答1:
Just (install and) load the package 'base64enc'.
回答2:
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.
回答3:
install.packages("base64enc") was what solved this issue for me.
回答4:
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
回答5:
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.
回答6:
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.
回答7:
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.
回答8:
I used a different wireless network (which was less secure) and this worked for me
回答9:
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
回答10:
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.
来源:https://stackoverflow.com/questions/31128492/twitter-setup-twitter-oauth-failing