📜  创建触发器以在应用程序脚本中每分钟运行 - Javascript (1)

📅  最后修改于: 2023-12-03 15:07:13.129000             🧑  作者: Mango

创建触发器以在应用程序脚本中每分钟运行 - Javascript

在应用程序中,我们经常需要定期执行某些任务。创建一个定时触发器是一种简单而可靠的方法来实现这个目标。在 Javascript 中,我们可以使用 Google Apps Script 来创建触发器,并在每分钟自动运行脚本。

创建定时触发器

要创建定时触发器,我们需要使用 ScriptApp 对象的 newTrigger() 方法。该方法需要传入两个参数:要运行的函数和触发器运行的时间间隔。

function createTrigger() {
  // 获取当前项目和脚本的唯一ID
  const id = SpreadsheetApp.getActiveSpreadsheet().getId();
  const script = ScriptApp.getScriptId();

  // 创建一个新的定时触发器,每分钟运行一次
  ScriptApp.newTrigger('myFunction')
    .timeBased()
    .everyMinutes(1)
    .create();
}

上面的代码中,我们使用了 timeBased() 方法来指定触发器的类型为时间触发器。接下来,我们使用 everyMinutes() 方法来指定触发器的时间间隔为一分钟。最后,我们使用 create() 方法来创建触发器。

定时运行脚本

一旦创建了定时触发器,我们就可以使用 ScriptApp 对象的 getScriptTriggers() 方法来获取当前项目中所有的触发器,并定时运行我们指定的函数。

function myFunction() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  sheet.getRange("A1").setValue(new Date());
}

function onOpen() {
  // 在打开文档时创建定时触发器
  createTrigger();
}

function onInstall() {
  // 在安装应用程序时创建定时触发器
  createTrigger();

  // 添加一个自定义菜单
  SpreadsheetApp.getUi()
    .createMenu('定时脚本')
    .addItem('手动运行', 'myFunction')
    .addToUi();
}

在上面的示例代码中,我们定义了一个名为 myFunction() 的函数,在调用时会在当前表格的 A1 单元格中写入当前时间。接下来,我们在 onOpen()onInstall() 函数中调用 createTrigger() 函数来创建定时触发器。

通过以上操作,我们可以在文档或应用程序中创建定时触发器以每分钟运行 Javascript 脚本。