【问题标题】:R TwitteR package authorization errorR TwitteR 包授权错误
【发布时间】:2018-04-27 15:08:45
【问题描述】:

我正在关注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 中没有其他选项。有没有其他人遇到这个错误?

【问题讨论】:

  • 您已经获得了自己的 api 密钥和访问令牌,对吧?你不只是在实践中使用“X”吗?如果没有可重现的错误,这将很难调试。
  • @MrFlick 是的,我有自己的 api 密钥和访问令牌。我只是使用“X”作为占位符。有没有办法追溯错误?
  • 这个问题似乎特定于包。我建议在twitteR mailing list 上寻求帮助,或者如果您认为错误是可重现的,请创建twitteR github issue。确保您也在运行当前版本的 httr
  • 我刚刚发现了一件事 - 1. 不要使用代理设置。 2.不要在设置中勾选“启用回调锁定”。它可能会有所帮助

标签: r twitter-oauth


【解决方案1】:

在 twitter 的应用设置中将回调 url 设置为 http://127.0.0.1:1410

【讨论】:

  • 如果您建议基于this issue,将其包含在上下文中会有所帮助。
【解决方案2】:

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

或者你可以在R中输入access_tokenaccess_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)

【讨论】:

    【解决方案3】:

    我尝试将回调 URL 设置为 (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)
    

    它像一个美女一样工作。

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

        可能与回调 URL 有关,我之前跳过了它。

        创建了一个新应用程序,这次包括它 - 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")
        

        希望对您有所帮助。

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            【解决方案7】:

            试试这个

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

            【讨论】:

              【解决方案8】:

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

              【讨论】:

                【解决方案9】:

                我遇到了同样的错误: “ 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)
                

                我做的就是把twitter提供的消费者密钥、消费者秘密、访问令牌、访问秘密值直接提供给上面的第5行,即

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

                这对我有用,希望对你有用。

                【讨论】:

                  【解决方案10】:

                  我也遇到了这个问题,并且浏览了此处发布的所有内容,但无济于事。我终于查看了 Windows 防火墙,并意识到我没有为 Rstudio 破例。现在一切正常!

                  【讨论】:

                    猜你喜欢
                    • 2016-04-24
                    • 1970-01-01
                    • 2015-10-22
                    • 1970-01-01
                    • 2015-09-10
                    • 2019-02-19
                    • 2014-03-08
                    • 1970-01-01
                    • 2014-02-18
                    相关资源
                    最近更新 更多