我正在将MS office文件转换为google文件(主要是gsheet,gdoc)。我的脚本运行得很好,但谷歌无论出于何种原因都无法转换某些文件。发生这种情况时,转换超时,我在脚本编辑器窗口中收到一条错误消息,并退出整个脚本(包括调用此函数的函数)。这是错误:
很抱歉,发生了服务器错误。请稍等一下再试一次。
尝试,catch在这里不起作用,因为这种错误似乎没有被抓住。
我正在考虑实现一个计时器,如果它花了超过5秒左右就终止了该功能,但我似乎无法找到任何方法来实现这一点。
这是我的代码:
function convertFile(oldFile, newMimeType, safeKeepingFolder){
try{
var name = oldFile.getName().split(".")[0];
var ID = oldFile.getId();
var folderID = Drive.Files.get(ID).parents[0].id;
var oldBlob = oldFile.getBlob();
var newFile = {
title: name,
mimeType: newMimeType,
parents: [{id: folderID}],
}
//This is where it times out:
Drive.Files.insert(newFile, oldBlob, {
convert: true});
moveFile(oldFile, safeKeepingFolder);
}
catch(e) {
Utils.errorLog(e, errorSsId, "convertFile");
console.error('convertFile yielded an error: ' + e);
}
}