我想使用streamR和所需的ROAuth包連接到twitter的流媒體API。我按照文檔here的確切步驟進行操作,但是當完成所有步驟且沒有錯誤時,我會在撥打filterStream
或sampleStream
時收到401未授權錯誤。401未經授權的錯誤使用streamR
這裏有看似細微的工作步驟:
library(ROAuth)
library(streamR)
requestURL <- "https://api.twitter.com/oauth/request_token"
accessURL <- "https://api.twitter.com/oauth/access_token"
authURL <- "https://api.twitter.com/oauth/authorize"
consumerKey <- "--redacted--"
consumerSecret <- "--redacted--"
my_oauth <- OAuthFactory$new(consumerKey = consumerKey,
consumerSecret = consumerSecret,
requestURL = requestURL,
accessURL = accessURL,
authURL = authURL)
my_oauth$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))
當我運行最後一行打開一個瀏覽器窗口,它要求我授權該應用使用我的Twitter帳戶。當我點擊授權時,出現提示「完成時,記錄提供給您的PIN並在此提供PIN碼後,出現我將其複製/粘貼到Rstudio中的PIN」:
運行上述命令後,我發送這樣調用到filterStream
: filterStream(file.name = "test_tweets.json", track = c("sat"), timeout = 120, oauth = my_oauth)
生成的文件test_tweets.json寫着:Problem accessing '/1.1/statuses/filter.json'. Reason: Unauthorized
要解決我試圖創建一個新的Twitter的應用程序,更新R和所有包的問題。這些行動都沒有產生任何不同的結果。另外,我嘗試了twitteR
包的相同憑據,該包運行良好,但不幸的是,我需要連接到通過twitteR
包無法使用的流api。任何提示非常感謝!
注意這個問題是有關,但不同,this unanswered question.
您是否找到解決方案?我面臨同樣的問題。 – Kishore 2016-02-27 22:59:27