Sheets 函数在独立 Google 脚本中工作,但当脚本绑定到 Google Sheet 时不工作

Sheets function working in standalone Google Script but NOT when script is bound to a Google Sheet

我有这段代码,当我在独立 Google 脚本 运行 作为网络应用程序使用它时,它运行良好:

function getSubjectsRollNosFromGradeSheet() {
  var spreadsheetId = '171hWWH8bV6kM1JJ2dvL80q3BoWC6eEc0U7l7wCTaXHE';
  var rangeSubject = 'GradesT1!G1:AA1';

  var values = Sheets.Spreadsheets.Values.get(spreadsheetId, rangeSubject).values;

然而,当我在脚本中编写相同的代码时,该脚本嵌入另一个 Google sheet(不是正在访问数据的脚本)附加到 Google 表单,我得到一个错误:

function updateForm(){

  // call your form and connect to the drop-down item
  var form = FormApp.openById("1VV_LeFJODZcIzfcYOh8vHEkhl033Lx4ZsXaY4Pm1ZUE");
  var subList1 = form.getItemById("497738674").asListItem();

  //pull data from another sheet
  var spreadSheetID = "1EJSx62rZuLSKIgel7LH8hE7-68lupz4buutmVQBqi2I";
  var rangeSubs = 'Sheet1!A1:A';

  var subValues = Sheets.Spreadsheets.Values.get(spreadSheetID, rangeSubs).values;

我收到这个错误

ReferenceError: "Sheets" is not defined. (line 16, file "Code")

为什么 Sheets 对象在第一种情况下可用而在第二种情况下不可用,我应该如何更改我的代码以克服此错误。

Sheets 是高级 Google 服务的方法之一。因此,为了使用 Sheets 的高级 Google 服务,请启用 Sheets API 的高级 Google 服务和 API 控制台,如下所示。

请在包含问题脚本的绑定脚本中执行此操作。

在高级 Google 服务中启用表格 API v4

  • 在脚本编辑器上
    • 资源 -> 高级 Google 服务
    • 打开 Google Sheets API v4
    • 在 API 控制台启用表格 API v4

在 API 控制台启用表格 API v4

  • 在脚本编辑器上
    • 资源 -> 云平台项目
    • 查看API控制台
    • 在开始时,单击启用 APIs 并获取密钥等凭据。
    • 在左侧,单击“库”。
    • 在搜索 API 和服务时,输入 "sheets"。然后单击 Google 工作表 API。
    • 单击“启用”按钮。

参考资料:

如果我误解了你的问题,我很抱歉。