【问题标题】:Google Sheets web app to run script as owner谷歌表格网络应用程序以所有者身份运行脚本
【发布时间】:2017-09-25 05:10:14
【问题描述】:

您有一个简单的脚本,可以从电子表格发送电子邮件我需要允许工作表的其他用户调用脚本,但我希望脚本以我(所有者)的身份运行,以便发送电子邮件我的账户。我查看了一些类似的问题和答案,但似乎没有任何效果。

我的工作表上有一个按钮,它使用以下代码调用 doGet 函数。

function doGet(e){

  UrlFetchApp.fetch('https://script.google.com/a/----.org/macros/s/AKfycbxT------------------------------FK5GbrkI/exec').getResponseCode();

}

如果我从浏览器选项卡脚本转到 URL 运行正常,但我无法通过单击电子表格上的按钮使其工作

【问题讨论】:

  • 从电子表格调用此函数时出现任何错误?
  • 在从按钮单击调用此函数之前从下拉菜单中手动调用它
  • 不,没有错误,只是没有任何反应。从下拉列表中调用它?你的意思是自定义菜单?如果我尝试添加 .ui,则会收到一条错误消息,指出在这种情况下无法调用 .ui。
  • @NitinDhomse 想说的是,从Code.gs 手动执行邮件发送功能。
  • @JamesDonnellan 从您的帐户运行脚本有什么特别的原因吗?

标签: google-apps-script google-apps google-sheets-api


【解决方案1】:

您可以创建一个standalone webapp 来处理电子邮件。当用户调用脚本时,一个web request从电子表格的GAS绑定脚本发出到发布的webapp,并且在webapp中你可以从你自己的帐户发送电子邮件(即,“Execute the app as: Me” )。您也可以传递参数,例如电子邮件收件人和文本可以作为参数发送。为了清楚起见,这是一张图片:

【讨论】:

  • 是的,有趣的是,我以前看过所有这些网页,但我从来没有想过要这样做!
  • 谢谢詹姆斯!随时提出任何后续问题;我不得不在 GAS 中多次实施类似的事情。此外,根据您部署 Google 表格的方式,您可能还会发现将共享密钥保存在电子表格中,然后使用后端 webapp 脚本进行验证,或者验证电子邮件的收件人是否是,事实上,它也是您的 Google Sheet 的编辑器。祝你好运! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多