【发布时间】:2016-03-06 14:24:25
【问题描述】:
我正在 R 中运行 twitter 情绪分析,并按照 twitteR 包中的示例设置 OAuth 参数,如下所示:
library(ROAuth)
library(twitteR)
library(RCurl)
options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))
reqURL <- "https://api.twitter.com/oauth/request_token"
accessURL <- "https://api.twitter.com/oauth/access_token"
authURL <- "https://api.twitter.com/oauth/authorize"
consumerKey <- "xxxxxxxxxxxxxxxxxxxxxxx"
consumerSecret <- "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
twitCred <- OAuthFactory$new(consumerKey=consumerKey,
consumerSecret=consumerSecret,
requestURL=reqURL,
accessURL=accessURL,
authURL=authURL)
twitCred$handshake()
registerTwitterOAuth(twitCred)
我还想在 R 环境中维护身份验证,这样我就不需要在每次启动和加载此脚本时都进行握手。例如,我运行这段代码并保存环境。然后在重新启动 R 以运行 searchTwitter 等函数时,我收到此错误:
Error in twInterfaceObj$doAPICall(cmd, params, "GET", ...) :
OAuth authentication is required with Twitter's API v1.1
我认为registerTwitterOAuth(twitCred) 是在 R 环境中保存我的身份验证详细信息的原因,但我想我错了。如果我手动执行所有操作,身份验证以及我的 twitter 抓取工作正常,但我想最终在 linux 服务器上自动执行此脚本。
我必须做什么才能使身份验证保留在 R 环境中,以便我可以运行自动化脚本?
我在 Windows 7 x64 机器上运行 R v.3.1.1 x64。
【问题讨论】: