使用GAS将谷歌电子表格转换为PDF-为6+;几个月后停止工作

使用GAS将谷歌电子表格转换为PDF-为6+;几个月后停止工作,pdf,google-apps-script,google-sheets,urlfetch,Pdf,Google Apps Script,Google Sheets,Urlfetch,正如标题所说,我有一个脚本,它完美地工作了6个多月,然后就停止了将文件转换为PDF。我展示的最后一个工作文件是2020年8月6日,之后的下一个工作文件是2020年8月31日,它以text/HTML文件的形式出现,此后每个人都是text/HTML文件 这是我正在做的一个例子。我的实际代码创建了一个新的电子表格,保存了PDF文件,然后删除了电子表格,因为当我创建这个电子表格时,我读到了这是必要的。不确定它是否仍然是一样的,显然有些东西改变了。本例不保存文件,但显示blob类型,它仍然显示为text/

正如标题所说,我有一个脚本,它完美地工作了6个多月,然后就停止了将文件转换为PDF。我展示的最后一个工作文件是2020年8月6日,之后的下一个工作文件是2020年8月31日,它以text/HTML文件的形式出现,此后每个人都是text/HTML文件

这是我正在做的一个例子。我的实际代码创建了一个新的电子表格,保存了PDF文件,然后删除了电子表格,因为当我创建这个电子表格时,我读到了这是必要的。不确定它是否仍然是一样的,显然有些东西改变了。本例不保存文件,但显示blob类型,它仍然显示为text/HTML

代码.gs

function testPDF(){
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheetByName('M2');
  var url = ss.getUrl();
  var sheetId = sheet.getSheetId();

  //remove the trailing 'edit' from the url
  url = url.replace(/edit$/, '');

  //additional parameters for exporting the sheet as a pdf
  var url_ext = 'export?exportFormat=pdf&format=pdf' + //export as pdf
    //below parameters are optional...
    '&portrait=false' + //orientation, false for landscape
    '&scale=4' + //4 = fit to page
    '&gid=' + sheetId; //the sheet's Id
    

  var token = ScriptApp.getOAuthToken();

  var response = UrlFetchApp.fetch(url + url_ext, {
    headers: {
      'Authorization': 'Bearer ' + token
    }
  });

  var theBlob = response.getBlob().setName("M2");
  
  Logger.log(theBlob.getContentType());
}
那么,是什么在8月份发生了变化,使这项工作停止了呢?

我在这里找到了答案:

显然

//remove the trailing 'edit' from the url
  url = url.replace(/edit$/, '');
编辑后不再删除所有内容,因此我按照@jesse fox和@bcolbert的建议将其更改为:

url = url.replace(/edit.*$/,'');
而且它工作得很好