【问题标题】:Unauthorized error with Twitter OAuthTwitter OAuth 出现未经授权的错误
【发布时间】:2014-03-08 01:59:24
【问题描述】:

我注意到很多关于 Twitter API 身份验证问题的帖子,但显然没有人与我的问题相关。一旦我尝试进行身份验证,在我被要求输入 PIN 之后,系统就会抛出错误(“未经授权”)。这发生在我可以输入 PIN 之前。

代码是:

library("twitteR")
library("RCurl")
library("ROAuth")

# Set SSL certs globally
options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))

Credentials <- OAuthFactory$new(
  consumerKey = "XX",
  consumerSecret = "XX",
  oauthKey = "XX",
  oauthSecret = "XX",
  requestURL = "https://api.twitter.com/oauth/request_token",
  authURL = "https://api.twitter.com/oauth/authorize",
  accessURL = "https://api.twitter.com/oauth/access_token")

Credentials$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))

结果是:

To enable the connection, please direct your web browser to: 
https://api.twitter.com/oauth/authorize?oauth_token=XX
When complete, record the PIN given to you and provide it here:                    
Error: Unauthorized

如上所述,这发生在我可以真正输入我的 PIN 之前。我在 RStudio 中运行脚本,但在经典 R GUI 上运行并没有做出任何改变。我正在运行 R 版本 3.0.1。

后脚本 我尝试了不同版本的代码,例如this one,但我得到了完全相同的错误。

【问题讨论】:

    标签: r twitter oauth twitter-oauth


    【解决方案1】:

    您可以按照以下步骤操作:

    reqURL <- "https://api.twitter.com/oauth/request_token"
    accessURL <- "https://api.twitter.com/oauth/access_token"
    authURL <- "https://api.twitter.com/oauth/authorize"
    consumerKey <- "Mjn6tdsadsadkasdklad2SV1l"
    consumerSecret <- "58Z7Eldsdfaslkf;asldsaoeorjkfksaVCQtvri"
    twitCred <- OAuthFactory$new(consumerKey=consumerKey,
                                 consumerSecret=consumerSecret,
                                 requestURL=reqURL,
                                 accessURL=accessURL,
                                 authURL=authURL)
    twitCred$handshake()
    

    运行此代码后,您将在 R 控制台中看到如下消息:

    To enable the connection, please direct your web browser to: 
    https://api.twitter.com/oauth/authorize?oauth_token=scmVODruosvz6Tdsdadadasdsa
    When complete, record the PIN given to you and provide it here:
    

    只需将链接粘贴到您的浏览器然后授权应用程序,最后一个您将获得 PIN 码,只需将 PIN 码复制并粘贴到您的 R 控制台。

    registerTwitterOAuth(twitCred)
    

    如果成功,R 控制台将显示 TRUE。

    user <- getUser("xxx")
    userTimeline(user, n=20, maxID=NULL, sinceID=NULL, includeRts=FALSE)
    

    如果仍然有任何问题,请尝试显示您的软件包版本并更新到最新版本

    sessionInfo()
    update.packages("twitteR")
    

    twitteR 的最新版本是 1.1.7 => http://cran.r-project.org/web/packages/twitteR/index.html

    您可以下载 twitteR 手册 => 见第 12 页 http://cran.r-project.org/web/packages/twitteR/twitteR.pdf

    【讨论】:

      猜你喜欢
      • 2015-09-10
      • 2012-04-08
      • 1970-01-01
      • 2013-04-02
      • 2015-04-03
      • 2022-01-03
      • 2017-10-05
      • 2023-03-05
      • 1970-01-01
      相关资源
      最近更新 更多