[英]401 Unauthorized error using streamR
我正在嘗試使用streamR和必需的ROAuth包連接到twitter的流API。 我遵循此處文檔中的確切步驟,但是當我完成所有步驟且沒有錯誤時,調用filterStream
或sampleStream
時收到401 Unauthorized錯誤。
以下步驟似乎可以正常工作:
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時,出現以下提示,我將其復制/粘貼到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
Problem accessing '/1.1/statuses/filter.json'. Reason: Unauthorized
為了解決該問題,我嘗試創建一個新的Twitter應用程序,更新R和所有軟件包。 這些動作均未產生任何不同的結果。 此外,我使用twitteR
軟件包嘗試了相同的憑據,效果很好,但不幸的是,我需要連接到twitteR
軟件包無法使用的流api。 任何提示,不勝感激!
無論出於何種原因,創建一個新的twitter帳戶都可以解決此問題; 但只有在我將手機與該帳戶相關聯並選中了移動通知部分中的所有復選框之后, 奇怪,但它奏效了。 工作正常后,我便可以取消選中通知,但該通知仍然有效。
讀者,同伴,神秘錯誤接收者並不孤單: http : //xkcd.com/979/
將Twitter權限從“讀取-寫入”更改為“讀寫”和“直接消息”時,需要重新生成customerKey和customerSecret。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.