一个简单的Web应用程序应该每小时发送一封静态电子邮件。我使用可安装的触发器来完成此操作。首次调用Web应用程序时,要求用户授权Web应用程序。但是,授权后,将要求脚本以无限循环的方式重新授权。如何避免这种情况?
function doGet(e) {
var params = JSON.stringify(e);
ScriptApp.newTrigger('email')
.timeBased()
.everyHours(1)
.create();
return HtmlService.createHtmlOutput('looks like it worked');
}
function email(){ GmailApp.sendEmail('test@example.com', 'Subject line', "works");}
我希望脚本一次请求授权,然后将触发器安装在授权用户下并每小时发送一次电子邮件
答案 0 :(得分:1)
尝试一下:
function isTrigger(funcName){
var r=false;
if(funcName){
var allTriggers=ScriptApp.getProjectTriggers();
for(var i=0;i<allTriggers.length;i++){
if(funcName==allTriggers[i].getHandlerFunction()){
r=true;
break;
}
}
}
return r;
}
function doGet(e) {
var params = JSON.stringify(e);
if(!isTrigger('email')) {
ScriptApp.newTrigger('email').timeBased().everyHours(1).create();
}
return HtmlService.createHtmlOutput('looks like it worked');
}