oauth_listener()需要一个交互式环境(执行暂停)

时间:2015-03-04 18:17:32

标签: r google-analytics-api httr

尝试批量运行R脚本(见下文),我收到错误oauth_listener()需要一个交互式环境然后停止执行。我发现oath_listener()是httr包的一部分。代码在R Studio中运行良好,只是作为Rscript.exe运行?

require(RODBC)
require(RSQLite)
require(RGoogleAnalytics)
require(httpuv)
require(httr)

client.secret <- "xxx"
client.id <- "xxx.apps.googleusercontent.com"

token <- Auth(client.id,client.secret)
save(token,file="./token_file")
ValidateToken(token)

2 个答案:

答案 0 :(得分:2)

也许以交互方式运行它以保存令牌文件,然后在要以批处理模式运行时加载令牌文件。您可以使用...

测试它的存在
if(file.exists("./token_file")){
  load("./token_file")
}else{
  token <- Auth(client.id,client.secret)
}

答案 1 :(得分:0)

在R Studio或R中运行R脚本时,它有一个已定义的工作目录,您可以通过以下命令进行检查:getwd()
当您在批处理文件中运行脚本时,它可以具有不同的工作目录,因此找不到您需要的令牌文件 因此,您可以先在R Studio中检查运行命令getwd()的目录,然后在脚本中插入命令setwd("same working directory from R Studio"),将目录设置为您在RStudio中使用的目录。