Twitter setup_twitter_oauth() 失败

TwitteR setup_twitter_oauth() failing

我一直在关注包的小插图,更新并加载了所有必要的包,这似乎是一个非常简单的身份验证过程。相反,我得到一个错误

> 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()'

我的解释和编辑程序看起来或多或少像这样。

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)

我阅读了很多关于这个主题的其他 SO 问题,但没有解决我的问题(大多数问题仍然使用旧的身份验证过程)。我正在尝试在 this tutorial.

之后创建词云

我遇到了同样的问题,而且尝试了很多次。

我发现了这个问题 https://github.com/geoffjentry/twitteR/issues/90,其中 'jrowen' 建议了一个解决方法来解决我的问题。这个问题显然是由新的 httr 包引起的,但解决方法是使用此命令从 GitHub 安装 twitteR 包而不是 cran 存储库:

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

此后OAuth认证错误的问题消失了。希望这对你也有用。

只需(安装和)加载包 'base64enc'。

install.packages("base64enc") 为我解决了这个问题。

尝试重新生成消费者密钥和 access_token 密钥。我也遇到了类似的问题。没有解决我的问题。但是在我重新生成密钥并使用新密钥后,它得到了解决并且效果很好。

我必须进行以下设置才能完成这项工作

包版本: base64enc_0.1-3 httr_1.2.1 twitteR_1.1.8

使用命令安装了 twitteR: devtools::install_github("jrowen/twitteR", ref = "oauth_httr_1_0")

我有一个现有的应用程序无法正常工作,所以我继续在 Twitter 上创建了一个新应用程序。

这个组合适合我

我尝试了这里的所有建议,但令人惊讶的是 none 对我有用。有人可能会遇到与我相同的情况,所以我回答了对我有用的问题 - 似乎问题出在直接身份验证上,所以我遵循了以下步骤(这需要一个人拥有 openssl 包)与 twitteR 软件包一起安装和加载;

确保您已经创建了您的 Twitter API 并拥有 consumerkey 和 consumerSecret 代码,并且最好使用您的默认网络浏览器保持登录到 Twitter

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

这将打开您的默认浏览器并显示成功的身份验证消息。您现在可以关闭浏览器并继续使用 R 浏览推文。

只需检查您的防火墙设置并允许 R 通过。

我尝试了所有提到的关于包等的不同解决方案。None 其中有效。我终于发现这不过是一个简单的防火墙问题。我建议遇到此问题的每个人首先检查他们的防火墙设置。确保将 R 添加到允许通过防火墙的应用程序列表中。这应该可以解决问题。

我使用了不同的无线网络(不太安全),这对我有用

我的问题是我的 curl 已过时,因此无法验证它收到的 SSL 证书。我所要做的就是更新 curl(如果您使用的是 anaconda,只需 conda update curl),然后 oauth 完美运行。

添加代理解决了我的问题 希望这会解决其他一些问题

如果您已经有代理,则输入以下行:

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

注意:将设置更改为您自己的设置

遇到了同样的问题。然后意识到我没有登录 Twitter(从默认浏览器)。登录到 Twitter,一切正常。