R TwitteR包授权错误

时间:2014-09-15 20:30:36

标签: r twitter-oauth

我正在关注twitteR homepage的最新更新,但我无法通过授权流程。

library(devtools)
install_github("twitteR", username="geoffjentry")

library(twitteR)
api_key <-  "XXXXXXXXXXXXXXXXX"
api_secret <- "XXXXXXXXXXXXXXXXX"
access_token <- "XXXXXXXXXXXXXXXXX"
access_secret <- "XXXXXXXXXXXXXXXXX"
setup_twitter_oauth(api_key, api_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()'

我也尝试了setup_twitter_oauth(api_key, api_secret),这是错误消息:

[1] "Using browser based authentication"
Error in init_oauth1.0(endpoint, app, permission = params$permission) : 
client error: (401) Unauthorized

我认为setup_twitter_oauth中还有其他选项。有没有其他人遇到这个错误?

10 个答案:

答案 0 :(得分:15)

在Twitter中的应用设置中将回调网址设置为http://127.0.0.1:1410

答案 1 :(得分:6)

当您的应用程序缺少回调网址时会发生此错误。要解决此问题,请转到https://apps.twitter.com/选择您的应用,然后转到设置向下滚动到 CALLBACK网址并输入(http://127.0.0.1:1410)。这应该允许您运行浏览器验证。

enter image description here

或者您可以在R中输入 access_token access_secret 来触发本地验证。

 consumer_key   <- " YOUR CONSUMER KEY "
 consumer_secret<- " YOUR CONSUMER SECRET "
 access_token   <- " YOUR ACCESS TOKEN "
 access_secret  <- " YOUR ACCESS SECRET "
 setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret)

答案 2 :(得分:5)

我尝试将回拨网址设置为(http://127.0.0.1:1410),更新与此软件包相关的所有软件包。没有什么能解决我的问题。 然后我安装了httk httpuv包并做了以下几行:

consumer_key <- " YOUR CONSUMER KEY "
consumer_secret<- " YOUR CONSUMER SECRET"
setup_twitter_oauth(consumer_key, consumer_secret,
                    access_token=NULL, access_secret=NULL)

它就像一个美女。

执行上述操作会转到网页,您手动授权该应用。 虽然这可能不是问题的解决方案,但它绝对是认证障碍的解决方法。

答案 3 :(得分:3)

尝试install.packages('base64enc')。它对我有用。在github讨论中找到了它。

答案 4 :(得分:1)

我遇到了同样的问题。尝试了我在网上找到的所有建议,但都是徒劳的。

可能它与回调网址有关,我之前已经跳过它。

创建了一个新的应用,这次包括它 - http://127.0.0.1:1410,它对我有用。

以下是我使用的代码:

library(httr)
library(devtools)
library(twitteR)
library(base64enc)

consumer_key <- 'XXXXXXXXXXXX'
consumer_secret <- 'XXXXXXXXXXXX'
access_token <- 'XXXXXXXXXXXX'
access_secret <- 'XXXXXXXXXXXX'
setup_twitter_oauth(consumer_key , consumer_secret, access_token, access_secret)

tw <- searchTwitter("LFC",n=100,lang="en")

希望它有所帮助。

答案 5 :(得分:0)

我遇到了同样的问题,并尝试了所有最新的httr下载和库,但仍然存在问题。然后我在twitter中创建了一个新的APP,并在代码中使用了API密钥和其他凭据,现在问题解决了。 我正在使用我在8个月前创建的APP ....重新生成API凭据也可以解决现有的APP。

答案 6 :(得分:0)

尝试使用此

setup_twitter_oauth(apiKey,apiSecret,access_token = accessToken,access_secret = accessSecret)

答案 7 :(得分:0)

我通过在apps.twitter.com网站上手动生成访问令牌来修复它,并将其作为参数传递给api,这将强制使用本地身份验证而不是浏览器身份验证。

答案 8 :(得分:0)

我遇到了同样的错误: “check_twitter_oauth()出错:OAuth身份验证错误: 这很可能意味着您错误地调用了setup_twitter_oauth()'“ 在尝试了stackoverflow中发布的不同解决方案之后,我仍然没有解决问题。我重新生成了我的消费者密钥和消费者秘密,并将其提供给我的R脚本中的以下行:

consumer_key <- 'XXconsumer_keyXX'
consumer_secret <- 'XXconsumer_secretXX'
access_token <- 'XXaccess_tokenXX'
access_secret <- 'XXaccess_secretXX'
setup_twitter_oauth(consumer_key , consumer_secret, access_token, access_secret)

我做得正确并获得OAuth身份验证握手的方法是将Twitter提供的消费者密钥,消费者密钥,访问令牌,访问密钥值直接提供给上面的第5行,即

setup_twitter_oauth("xxconsumer_key_xx", "xxconsumer_secretxx", "xxaccess_tokenxx", "xxaccess_secretxx")

这对我有用,希望它适合你。

答案 9 :(得分:0)

我也遇到过这个问题并且通过这里发布的所有内容都无济于事。我终于看了一下Windows防火墙,发现我没有为Rstudio做过例外。现在一切正常!