Google Apps脚本 - 转换文件超时,脚本保释,错误无法捕获

时间:2018-03-30 19:22:48

标签: google-apps-script google-drive-api file-conversion

我正在将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);
  }

}

0 个答案:

没有答案