我正在关注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
中还有其他选项。有没有其他人遇到这个错误?
答案 0 :(得分:15)
在Twitter中的应用设置中将回调网址设置为http://127.0.0.1:1410
答案 1 :(得分:6)
当您的应用程序缺少回调网址时会发生此错误。要解决此问题,请转到https://apps.twitter.com/选择您的应用,然后转到设置向下滚动到 CALLBACK网址并输入(http://127.0.0.1:1410)。这应该允许您运行浏览器验证。
或者您可以在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做过例外。现在一切正常!