如何在Code.gs以外的js文件中引用GmailApp?

时间:2016-09-11 02:17:49

标签: google-apps-script

是否可以在GmailApp文件中引用my_custom_js.html,而不是Code.gs文件?

以下在Code.gs中使用时有效:

// BEGIN email
// define email recipients
var email_recipient = uploader_email;
// Email subject
var subject = "Form submitted"
// Email body
var body = my_html; 
Logger.log(email_recipient);    
// Send email
GmailApp.sendEmail(email_recipient, subject, body);
// END email

但在my_custom_js.html中的函数中使用时,它不起作用。

Developer Tools> Console显示错误:

Uncaught ReferenceError: Logger is not defined
Uncaught ReferenceError: GmailApp is not defined

我希望它在自定义脚本中运行的原因是它使用:

// BEGIN handle form submit
function handleFormSubmit(formObject) {
google.script.run.withSuccessHandler(updateUrl).processForm(formObject);
}
// END handle form submit

并且,如果我正确理解了代码,updateUrl仅在成功操作后运行 - 所以我想从updateUrl()函数发送电子邮件(即成功操作后)。

也许我需要使用类似scriptlet的东西,但是要在js文件中使用?

修改

我正在调查:

https://developers.google.com/apps-script/guides/html/reference/run

并且会看到我是否可以使用Code.gs中的以下内容将值传递给my_custom_js.html中定义的函数:

google.script.run.sendNotificationEmail(arg1,arg2);

修改

最后一个想法奏效了,但感谢对原始问题的任何见解,谢谢。

1 个答案:

答案 0 :(得分:0)

本周我第一次使用Google的新版Javascript Client API.使用此API,您可以触发您的Google应用脚本从任何自定义网站运行,并通过您通常的任何方法获得结果回调在appscript中使用。花了一些时间才能让它工作,包括在API控制台中设置东西,但它非常酷,你可以从任何地方运行和调用并触发任何appscript。