在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上)