2015-02-23 65 views
1

我想使用streamR和所需的ROAuth包連接到twitter的流媒體API。我按照文檔here的確切步驟進行操作,但是當完成所有步驟且沒有錯誤時,我會在撥打filterStreamsampleStream時收到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」:

運行上述命令後,我發送這樣調用到filterStreamfilterStream(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.

+0

您是否找到解決方案?我面臨同樣的問題。 – Kishore 2016-02-27 22:59:27

回答

0

無論出於何種原因,創建固定這個問題的一個新的Twitter賬戶;但只有在我將手機與該帳戶相關聯後,才能檢查移動通知部分中的所有框。奇怪,但它的工作。我得到它的工作後,我能夠取消選中通知,它仍然工作。

親愛的讀者,同行的神祕錯誤接收器,並不孤單:http://xkcd.com/979/

0

當你從閱讀改變你的Twitter的許可,您需要重新生成customerKey和customerSecret - 寫爲讀寫和直接信息。

相關問題