big*_*can 1 google-apps-script
我希望在编辑发生后获得一个触发器来运行指定的时间.
我想我可以为这个功能组合编辑触发器和基于时间的触发器,但不清楚如何.
提供一些额外的细节.
我有一张Google表格,用于跟踪我的胰岛素用量.我应该在服用胰岛素后2小时检查我的血糖.
当我管理胰岛素时,我进入谷歌表格,时间/金额/等...当我进入此条目时,我想创建一个触发器,将在2小时内运行,向我发送电子邮件通知作为提醒检查我的血糖再次出现并重新进入.
这就是我在Google App Script中使用时间触发器的方法.
用于创建时间触发器的函数.
function createTriggger(name,action,time){
// Time is in minutes
var trigger = ScriptApp.newTrigger(action)
.timeBased()
.after(time*60*1000)
.create();
var triggerID = trigger.getUniqueId();
// Store trigger id to delete the trigger once it has executed
PropertiesService.getScriptProperties().setProperty(name, triggerID);
};
Run Code Online (Sandbox Code Playgroud)
这name是存储触发器ID的属性的名称,因此您可以在执行后删除触发器.action是您希望触发器执行的函数的名称,time以分钟为单位.
在函数的最后一行,您希望触发器执行,使用此行来获取触发器ID并从触发器列表中删除它.将您的触发器ID属性的名称放入name.
var triggerID = PropertiesService.getScriptProperties().getProperty(name)
deleteThisOne(triggerID)
Run Code Online (Sandbox Code Playgroud)
这是删除功能:
function deleteThisOne(id){
var triggers = ScriptApp.getProjectTriggers();
for(var i=0;i<triggers.length;i++){
if(triggers[i].getUniqueId() == id){
ScriptApp.deleteTrigger(triggers[i]);
break;
};
};
};
Run Code Online (Sandbox Code Playgroud)
查看google脚本Installable Triggers for Limitations
| 归档时间: |
|
| 查看次数: |
643 次 |
| 最近记录: |