Why am I seeing "reference error: "Calendar" is not defined" when I run a Google Spreadsheet API script?

Why am I seeing "reference error: "Calendar" is not defined" when I run a Google Spreadsheet API script?

我用我原来的 Google 电子表格的克隆制作了一个工作绑定脚本,花了几天的时间整理。

然后我将我的公式复制到一个新的电子表格中。

突然间,尽管我认为我没有对任何相关代码进行任何更改,但我看到 "reference error: "Calendar" is not defined google API。" =11=]

我有很多代码,所以很难全部粘贴,但相关部分在这里:

var start = (passed as argument to function);
  var end = (passed as argument to function);
  var calendarId = 'redacted'//source calendar 
  var optionalArgs = {
    timeMin: start.toISOString(),
    timeMax: end.toISOString(),
    showDeleted: false,
    singleEvents: true,
    maxResults: null,
    orderBy: 'startTime'
  };
  var response = Calendar.Events.list(calendarId, optionalArgs);

我花了很长时间才通过,所以亲爱的未来人,如果我能为你节省几分钟,我的努力就是值得的。

日历 API 必须打开 Calendar.Events.list 才能工作。

在您的脚本菜单中,select "Resources" 然后 "Advanced Google Services." 您将看到一个 API 列表,其中包含开关。

要将 API 用于其他服务,您必须在此处和 Google 开发者控制台中启用它(只需按照对话底部的 link window).

此外,我曾假设在 Google 开发人员控制台中,一旦 API 打开,它就会作为用户为您打开,但有一个独特的控制台对于每个项目,这就是您在遵循 link 时所要做的。您必须为每个额外的项目重新打开它。