电子表格下载为网页(.html压缩)

时间:2017-10-19 13:06:11

标签: google-apps-script google-sheets google-drive-api export

在Google电子表格中创建嵌入式Google App脚本,再次遇到障碍。过去有一些关于CSV导出的常见问题(如this一个),这比输出具有格式的html文件的复杂性要容易得多,但是没有任何内容涉及创建html文件或者压缩的html文件有一个CSS。我实际上可以逐个单元地解析我的文件并手动创建一个html文件,这将是单调乏味的,因为我有公式和超链接,但我又不想重新创建已经内置到Google App电子表格中的内容。

非常惊讶没有办法只是按原样调用它或(使用我想要调用导出文件的参数。)特别是在Google电子表格的FILE菜单中有一个选项Download as as - >网页(.html压缩),我无法想象如何从脚本运行。我试过这个:

function exportAsHTML(documentId){
  var forDriveScope = DriveApp.getStorageUsed(); //needed to get Drive Scope requested
  var url = "https://www.googleapis.com/drive/v3/files/"+documentId+"/export";
  var param = {
    method      : "get",
    headers     : {"Authorization": "Bearer " + ScriptApp.getOAuthToken()},
    mimeType    : "application/zip",
    muteHttpExceptions:true
  };
  var html = UrlFetchApp.fetch(url,param).getContentText();
  var file = DriveApp.createFile("myExportedHTML.zip", html,MimeType.ZIP);
  return file.getUrl();
}

我收到以下错误:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Required parameter: mimeType",
    "locationType": "parameter",
    "location": "mimeType"
   }
  ],
  "code": 400,
  "message": "Required parameter: mimeType"
 }
}

根据此Google documentation右侧的测试API对话框,它似乎确实使用我的示例电子表格创建了一个zip文件,但我无法弄清楚我是否会这样做这是错误的,但似乎它会更容易,因为它在电子表格文件菜单中是正确的。 另请注意,在过去几年中,Google API中出现了一些旧文档被弃用的情况,这使得查找更新的工作示例变得更加困难(特别是在html上)

0 个答案:

没有答案