如何在R oauth身份验证期间获取twitteR PIN码?

时间:2014-08-14 12:05:43

标签: r twitter oauth

我正在尝试使用twitteR包。

我使用此代码注册我的凭据:

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

download.file(url="http://curl.haxx.se/ca/cacert.pem",  
          destfile="cacert.pem")  

twitCred$handshake(cainfo="cacert.pem")

然后我获得了Twitter的链接: 要启用连接,请将您的网络浏览器指向:http://api.twitter.com/oauth/authorize?oauth_token=xxxx

但它返回“错误403”页面。

所以我尝试将URL编辑为https://而不是http://,我按照链接并在twitter页面中, 然后单击“授权应用程序”按钮。这会将我发回到我列为回调URL的站点。 我没有看到我期待的密码。

希望有人可以帮助我。

1 个答案:

答案 0 :(得分:0)

可能是https,看看这段代码是否像我一样:

### 1. Register your Twitter app here https://apps.twitter.com/app/new
### 2. Get your api_key and api_secret, fill in below
### 3. Source this file, copy the Twitter Authentication URL
### 4. Input the PIN every session you need access to Twitter API

require(twitteR)

api_key    = "XXXXX"
api_secret = "XXXXX"

TwitterOAuth<-function(){
  reqURL   <- "https://api.twitter.com/oauth/request_token"
  accessURL<- "https://api.twitter.com/oauth/access_token"
  authURL  <- "https://api.twitter.com/oauth/authorize"
  twitCred <- OAuthFactory$new(consumerKey=api_key,
                               consumerSecret=api_secret,
                               requestURL=reqURL,
                               accessURL=accessURL,
                               authURL=authURL)

  options(RCurlOptions = list(cainfo = system.file("CurlSSL", 
                              "cacert.pem", 
                              package = "RCurl")))

  twitCred$handshake()

  registerTwitterOAuth(twitCred)
}

TwitterOAuth()

我在帖子here上发了帖。