【问题标题】:Google Apps Script - script runs twice?Google Apps 脚本 - 脚本运行两次?
【发布时间】:2022-01-14 03:43:35
【问题描述】:

我对 Google Apps 脚本相当陌生,可能会遗漏一些东西,但我正在尝试制作一个非常基本的脚本以用于测试目的,并且实际上我编写的所有内容都会运行两次。完全不知道为什么。有人可以为我指出正确的方向吗?

现在,我只是在使用日历 API 并获取我的日历的名称,但它们总是打印两次。代码如下:

function myFunction() {
  let calendars = CalendarApp.getAllCalendars();
  let haveCalendar = false;
  for(i=0;i<calendars.length;i++){
    if (calendars[i].getTitle() == "Holidays"){
      Logger.log(calendars[i].getTitle());
      haveCalendar = true;
    } else if (haveCalendar == true || calendars[i].getTitle() != "Holidays"){
      Logger.log("already have calendar");
    }
  }
}

myFunction();

目前的输出是:

already have calendar
already have calendar
Holidays
already have calendar

already have calendar
already have calendar
Holidays
already have calendar

我完全感到困惑。任何帮助将不胜感激。 提前致谢!

【问题讨论】:

标签: javascript google-apps-script calendar


【解决方案1】:

从运行按钮调用

function donothing(a = "one") {
  Logger.log(a);
}

donothing("two");

Execution log
9:06:36 PM  Notice  Execution started
9:06:36 PM  Info    two
9:06:36 PM  Info    one
9:06:37 PM  Notice  Execution completed

【讨论】:

    【解决方案2】:

    我对 Google 应用的记忆不多,但我认为这是因为您两次调用了该函数

    删除最后一行

    myFunction();
    

    我认为应该没问题。因为他们的例子来自google,也不要再次调用该函数

    【讨论】:

    • 我这辈子从未感到如此愚蠢。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多