我想使用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