刚开始使用谷歌脚本,似乎无法找到下载文件的解决方案。这是问题所在:
问题:在运行脚本时,无论如何都要将.ashx URL中的文件保存为.xls文件?我完全可以做一些完全不同的事情但是需要能够下载这些文件作为.xls'。
感谢任何sugestions, 杰森
function getFileFromURL(fileURL, folder) {
var rc = 404;
var fileName = "";
var fileSize = 0;
try {
var response = UrlFetchApp.fetch("http://www.test.com/InventoryXLS?viewid=450");
var rc = response.getResponseCode();
} catch (e)
{
// fetch() does not handle unresolved DNS or file not found errors
// We'll treat all unhandled errors as "404 Not Found"
// This catch block simply suppresses the error
debugger;
}
if (rc == 200) {
var fileBlob = response.getBlob()
var folder = DocsList.getFolder("MyFolderNameinDrive");
if (folder != null) {
var file = folder.createFile(fileBlob);
fileName = file.getName();
fileSize = file.getSize();
}
}
var retObj = { "rc":rc, "fileName":fileName, "fileSize":fileSize };
debugger; // Stop to observe if in debugger
return retObj
}
答案 0 :(得分:0)
如果不对.ashx文件本身进行测试,我不知道这是否可行,但几周前实现了使用apps脚本转换文件的能力。 See number 15 on this issue.
然后,您可能不希望将文件转换为Google表格。如果是这样,请忽略包含{convert: true}
的可选参数。希望这仍然能够正确设置文件的名称和mimeType。否则,我将删除此答案,我们将重新开始!
或许类似于:
var file = {
title: 'Converted Spreadsheet',
mimeType: 'application/vnd.ms-excel'
};
file = Drive.Files.insert(file, fileBlob, {
convert: true
});
如果您可以共享.ashx文件,我可以进行更多测试......