在R

时间:2016-07-27 14:36:17

标签: r email

我想在R的批处理制度下发送电子邮件(呼叫" D:\ R \ R-3.2.5 \ bin \ i386 \ R" --internet2 CMD BATCH script.R)。在gui政权下一切都很好。

首先修改:

gmail_auth(scope='full',secret_file = 'client_id.json')

notification_email <- mime() %>%
  to("next@gmail.com") %>%
  from("my@gmail.com") %>%
  subject("subject"))
send_message(notification_email)

但有

Error:oauth_listener() needs an interactive environment.

第二次修改

没有gmail_auth

notification_email <- mime() %>%
      to("next@gmail.com") %>%
      from("my@gmail.com") %>%
      subject("subject"))
    send_message(notification_email)

也有

Error: oauth_listener() needs an interactive environment.

1 个答案:

答案 0 :(得分:0)

我在https://cran.r-project.org/web/packages/googlesheets/vignettes/managing-auth-tokens.html#where-do-tokens-live-in-between-r-sessions的帮助下解决了这个问题。

您的工作目录(setwd)在GUI和Rscript中需要相同。在运行gmail_auth之前,必须将工作目录设置为令牌的位置。 (filename = .httr-oauth)。

wd <- "C:/My Working Directory/"
setwd(wd)
gmail_auth(scope='full',secret_file = 'client_id.json')
  1. setwd命令添加到脚本
  2. 在GUI中运行gmail_auth命令
  3. 出现提示时选择选项1
  4. 保存脚本
  5. 在Rscript中运行