我正在嘗試使用R進行身份驗證,但我無法獲取PIN。使用ROAuth在Twitter上進行身份驗證時不生成PIN
我的代碼如下:
download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile="cacert.pem")
reqURL <- "http://api.twitter.com/oauth/request_token"
accessURL <- "http://api.twitter.com/oauth/access_token"
authURL <- "http://api.twitter.com/oauth/authorize"
consumerKey <- "foo"
consumerSecret <- "bar"
twitCred <- OAuthFactory$new(consumerKey=consumerKey,
consumerSecret=consumerSecret,
requestURL=reqURL,
accessURL=accessURL,
authURL=authURL
)
twitCred$handshake(cainfo="cacert.pem", ssl.verifypeer=FALSE)
然而,當我得到授權網址,並輸入在,我還沒有得到一個PIN:我只是有一個按鈕授權應用程序,然後我回到我之前指定的返回URL。
這似乎是一個非常類似於這個問題的情況 Where does twitteR PIN code appear during R oauth authentication?但在那裏的補救措施(以確保請求,訪問和身份驗證網址都是http而不是https)不適用於我。
我在Windows 7上運行R 3.0.0,ROAuth是0.9.2,twitteR 1.1.0 - 這些都說明了爲什麼會出現這個問題?
也許您需要更新您的cacert.pem文件。看看[** here **](http://stackoverflow.com/a/15348927/1478381),看看這是否有幫助。這個問題已經發布了很多次,用*確切的*相同的代碼。當你解決這個問題的時候,你自己用*完全*來回答它會有幫助,因爲目前這個問題每天都會被詢問一次。 –
謝謝西蒙。當我嘗試按照你的建議刷新cacert.pem時,我得到「C:\ Users \ V-JFOR〜1 \ AppData \ Local \ Temp \ Rtmp4Y79aI/cacert.pem'狀態爲309」。我認爲這是因爲curl在我的機器上無法正常工作。最新的cacert.pem應該在哪裏?在R工作目錄? – JamesF