首页 > 解决方案 > 如何处理将电子表格转换为 excel 文件并将其保存到我的谷歌驱动器时出现的错误

问题描述

我正在尝试将我的电子表格文件转换为 excel 文件,并希望使用 google 应用程序脚本将 excel 文件保存到我的 google 驱动器。当我运行这个脚本时,我总是收到下面的错误消息。

“您尝试使用的功能已被您的域管理员在第 21 行禁用。”

你能告诉我如何处理这个错误吗?我的电子表格要在我的谷歌驱动器上转换,我想将转换后的 excel 文件保存到我的谷歌驱动器。这是我的谷歌应用程序脚本代码。下面的代码中有一些变量。它们是 myFunction、id、SpreadsheetID、excel_file、ss2xlsx、new_file、url、options、res 和 ss。

function myFunction() {
  var id = "e.g. SpreadsheetID";
  var excel_file = ss2xlsx(id);
  if (excel_file !== undefined) {
    Logger.log("Name:" + excel_file.getName());
  }
}

//To convert spreadsheet to excel and save the file to my google drive
function ss2xlsx(spreadsheet_id) {
  var new_file;
  var url = "https://docs.google.com/spreadsheets/d/" + spreadsheet_id +
    "/export?format=xlsx";
  var options = {
    method: "get",
    headers: {
      "Authorization": "Bearer " + ScriptApp.getOAuthToken()
    },
    muteHttpExceptions: true
  };
  var res = UrlFetchApp.fetch(url, options);
  if (res.getResponseCode() == 200) {
    var ss = SpreadsheetApp.openById(spreadsheet_id);
    new_file = DriveApp.createFile(res.getBlob()).setName(ss.getName() + ".xlsx");
  }
  return new_file;
}

标签: google-apps-scriptgoogle-sheetsdownload

解决方案


您的 G Suite 网域管理员已禁用允许用户使用 Drive API 访问 Google Drive 的权限。管理员可以通过转到 admin.google.com -> 应用程序 -> G Suite -> 云端硬盘和文档设置 -> 功能和应用程序来重新启用此选项。


推荐阅读