- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 R 脚本中,当我尝试使用以下代码发送电子邮件时。它要求 gmailr 包请求访问您的 Google 帐户。选择预授权账户或输入“0”以获取新 token 。按 Esc/Ctrl + C 中止。
1:email1@gmail.com
无需在控制台中手动输入 1,我的 R 脚本如何自动选择我的预授权帐户并相应地发送电子邮件?
library(gmailr)
gm_auth_configure(path="C:/Users/Google Drive/email.json")
my_email_message <- gm_mime() %>%
gm_to("email1@gmail.com") %>%
gm_from("email1@gmail.com") %>%
gm_subject("My test message")
gm_send_message(my_email_message)
最佳答案
这是无人值守/非交互式身份验证问题。 我将尝试简要介绍该过程,因为它对我有用 - 问题,就像你的一样,消失了。正如 gmailr/readme 中所述- 您下载 json 凭证,以交互方式进行身份验证,然后将凭证复制到您喜欢的任何地方。您可以通过 python quickstart 获得证书,甚至更好——只需在 https://console.developers.google.com 上创建一个项目即可,向其中添加 gmail API,然后为桌面应用程序创建 OAuth 凭据。后一种方法的好处是您将确切地知道所有组件的位置,并且可以根据需要重复多次。为此,我创建了一个单独的谷歌电子邮件地址。然后您将下载 OAuth "client-secret".json
文件到你的项目目录并命名为credentials.json
(或您喜欢的任何其他 json 名称)。然后,当您在项目目录中时,您将在 Rstudio 中以交互方式运行以下命令进行身份验证:
gm_auth_configure(path = "credentials.json")
gm_auth(email = TRUE, cache = ".secret")
一个网页会弹出可怕的消息,但你会同意所有的,从那时起你将使用缓存。缓存
.secret
您刚刚在项目中创建的子目录(您可以为缓存目录指定任何名称)是可移植的 - 您可以将其与
credentials.json
一起复制到你的 Shiny 服务器。一切都包含在您的项目目录中很方便。之后你的代码中需要几行——它们应该在命令
gm_send_message(your_email_prepared_with_gm_mime)
之前。并且无论您将项目复制到哪台计算机,只要它具有
gmailr
,就不需要更多的交互式身份验证。和
gargle
(这是一个 gmailr 依赖项)安装在
R
中在您的服务器上:
gm_auth_configure(path = "credentials.json")
options(
gargle_oauth_cache = ".secret",
gargle_oauth_email = "email_address_used_for_creds@gmail.com"
)
gm_auth(email = "email_address_used_for_creds@gmail.com")
# then compose your e-mail and send it
最后一个命令允许避免使用哪个帐户的对话。这有时会在第一次使用时弹出。
gargle
(这就是使 gmailr 发生身份验证的原因)缓存目录位于您的主目录的某个隐藏子目录中 - 因此它特定于您在该计算机上。但是,如果将其设置为 R 项目的子目录,则整个 OAuth 过程将变得可移植。只需复制您想要的项目目录和 OAuth 凭证对 - 缓存中的 json 文件和 OAuth token 将随之而来。 token 是 gmail 在“身份验证舞蹈”期间以加密方式创建并存放在缓存中的 gzip 二进制文件。与一个 G 项目配对的一个地址提供一个代币。一个人可能可以在一个 R 项目中使用多个地址和谷歌项目,但到目前为止我还没有看到需要这样做。
关于r - 没有在 R 中选择预授权帐户的 Gmailr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60507013/
我设法用 R 成功发送带有附件的 HTML 电子邮件。但是 Gmail 不显示文本。 email % to("recipient@example.com") %>% from("sender@exam
我在 R 中创建了一个脚本,用于抓取我们客户网站的 robots.txt 文件,检查它们自上次检查以来是否发生了变化,如果发生变化,则使用 GmailR 包向我发送电子邮件。 此脚本的目的是按计划在后
我已经弄清楚如何通过 R 发送一封带有附件的电子邮件并显示电子邮件的正文(似乎是一个常见问题)。但是,我想关注 Jenny Bryan's method发送多封电子邮件,同时还附加一个文件。 发送一封
我想使用 gmailR 在电子邮件正文中发送 data.frame 数据。我也试过 htmlTable。 msg = htmlTable(data,rnames=FALSE) html_bod Th
在 R 脚本中,当我尝试使用以下代码发送电子邮件时。它要求 gmailr 包请求访问您的 Google 帐户。选择预授权账户或输入“0”以获取新 token 。按 Esc/Ctrl + C 中止。 1
我是一名优秀的程序员,十分优秀!