TwitteR setup_twitter_oauth() failing

2019-02-21 08:57发布

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.

10条回答
啃猪蹄的小仙女
2楼-- · 2019-02-21 09:05

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.

查看更多
一夜七次
3楼-- · 2019-02-21 09:10

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

查看更多
小情绪 Triste *
4楼-- · 2019-02-21 09:11

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.

查看更多
戒情不戒烟
5楼-- · 2019-02-21 09:15

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.

查看更多
你好瞎i
6楼-- · 2019-02-21 09:18

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

查看更多
老娘就宠你
7楼-- · 2019-02-21 09:22

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

查看更多
登录 后发表回答