【问题标题】:I am getting a reference error regards to gapi我收到有关 gapi 的参考错误
【发布时间】:2020-08-25 23:57:26
【问题描述】:

我在尝试执行此代码块时遇到参考错误。指的是gapi部分。

这是我的脚本编辑器的链接:

const spreadsheetId = "1VMb92O3imLG9nLLVbz5-ypZfnrztSO0Co4CTzj_Fs0U";
const sourceSheetName = "Time Flies Data";
const destinationSheetName = "TF";
const extractColumns = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]; // "A,K,B,J" in order.
const transpose = (ar) => ar[0].map((_, i) => ar.map(r => r[i]));
gapi.client.sheets.spreadsheets.values.get({
  spreadsheetId: spreadsheetId,
  range: sourceSheetName
}).then((res) => {
  const transposedValues = transpose(res.result.values);
  const extractedColumns = extractColumns.map(c => transposedValues[c - 1]);
  const resultValues = transpose(extractedColumns);
  gapi.client.sheets.spreadsheets.values.update({
    spreadsheetId: spreadsheetId,
    range: destinationSheetName,
    valueInputOption: "USER_ENTERED"
  }, {
    values: resultValues
  }).then((r) => {
    console.log(res.result.values)
  }, function(er) {
    console.error(er.result.error.message);
  })
}, function(err) {
  console.error(err.result.error.message);
});

在解决此问题之前,我的代码不会执行。

【问题讨论】:

  • 也许可以取消阻止链接,以便人们看到!
  • 究竟是什么错误,是哪一行代码产生的?
  • 我编辑了帖子,现在你可以看到代码
  • 第 8 行的参考错误,由 gapi 部分引起
  • gapi 是一个谷歌客户端库。 Google Apps 脚本在服务器上运行。阅读:github.com/google/google-api-javascript-client

标签: javascript google-apps-script google-sheets referenceerror


【解决方案1】:

gapi 是一个“客户端”端库(浏览器)。谷歌应用脚​​本runs on the "server"。如果不修改整个库以适应服务器环境,就不可能在服务器上运行客户端库。

要使用应用程序脚本访问/修改服务器中的 Google 表格,您需要使用内置的服务器端库,例如 Spreadsheet service。见:

【讨论】:

    猜你喜欢
    • 2020-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-16
    • 1970-01-01
    • 2020-01-01
    • 1970-01-01
    相关资源
    最近更新 更多