繁体   English   中英

urlfetchapp.fetch<url> Google Apps 脚本中不允许出现错误

[英]urlfetchapp.fetch <url> are not permitted ERROR in Google Apps Script

我有一个 Google Apps 脚本代码绑定到一个 Google 电子表格,它使用 urlfetchapp.fetch(url, options) 函数从它的一个工作表中创建了一个 PDF 文件。 昨天,没有编辑代码,它突然停止工作,显示错误“urlfetchapp.fetch are not allowed”。

我检查了我为其他电子表格制作的其他电子表格绑定代码,它也不再工作,同样的错误。

就上下文而言,我正在为我的公司使用 Google Workspace,并处理敏感数据。 但是直到昨天它都运行良好。

function CrearPDFysubirloalDrive(){
  var Ss = SpreadsheetApp.getActiveSpreadsheet();
  var Sheet= Ss.getSheetByName("Name") 
  var Longitud = Sheet.getLastRow(); 
  var range = Sheet.getRange(1,1,Longitud,10);
  var docId ="Planning"; 
  var docId1Semana = Sheet.getRange('F5').getValue(); 
  var docIdRevision = Sheet.getRange('C7').getValue();
  var pdfname= docId+ " W"+docId1Semana+"-Rev "+docIdRevision; 

  //This is not important to the question
  var tempst= Sheet.copyTo(Ss).setName(pdfname);
  tempst.insertColumns(1);
  tempst.setRowHeight(1,30)
  tempst.setColumnWidth(1, 20);
  tempst.setColumnWidth(12, 30);
  tempst.deleteColumns(13,tempst.getMaxColumns()-12)
  //tempst.deleteRows(Longitud+2, (tempst.getMaxRows()- (Longitud+2)))
  tempst.getRange("A4:A5").setBackground("white");
  var drawing = tempst.getDrawings(); 
  for (let i=0; i<drawing.length;i++){
  drawing[i].remove();
  }
  
  SpreadsheetApp.flush(); 

//THIS PART IS GIVING THE ERROR
  var url = 'https://docs.google.com/spreadsheets/d/{ID}/export?'.replace('{ID}', Ss.getId());
  var exportOptions = 'exportFormat=pdf&format=pdf' + // export as pdf / csv / xls / xlsx
    '&size=letter' + // paper size legal / letter / A4
    '&portrait=true' + // orientation, false for landscape
    '&fitw=true&source=labnol' + // fit to page width, false for actual size
    '&sheetnames=false&printtitle=false' + // hide optional headers and footers
    '&pagenumbers=false&gridlines=false' + // hide page numbers and gridlines
    '&fzr=false' + // do not repeat row headers (frozen rows) on each page
    '&top_margin=0.40' + //All four margins must be set!
    '&bottom_margin=0.00' + //All four margins must be set!
    '&left_margin=0.40' + //All four margins must be set!
    '&right_margin=0.40' + //All four margins must be set!
    '&gridlines=false' + //true/false
    '&gid=' + tempst.getSheetId(); // the sheet's Id
  
  var token = ScriptApp.getOAuthToken();

  var blob = UrlFetchApp.fetch(url + exportOptions, {
    headers: {
                               Authorization: 'Bearer '+token
    }
  }).getBlob().setName(tempst.getName()+".pdf");

  var pdfFile = DriveApp.createFile(blob);  

  
  var FolderDestino= DriveApp.getFolderById(<FOLDERID>); 
  FolderDestino.createFile(blob.setName(pdfname))

我无论如何都不是编码专家,但我怀疑这与 Oauth 令牌有关。 那个或该功能已被弃用。

确切的错误代码:例外:UrlFetch 调用https://docs.google.com/spreadsheets/d/*******/export?exportFormat=pdf&format=pdf&size=letter&portrait=true&fitw=true&source=labnol&sheetnames=false&printtitle=false&pagenumbers =false&gridlines=false&fzr=false&top_margin=0.40&bottom_margin=0.00&left_margin=0.40&right_margin=0.40&gridlines=false&gid=2141838874是不允许的。

有什么帮助吗? 先感谢您

好像有bug

问题已在 Google 的问题跟踪器上提交。 我建议您给它“加星标”以提高知名度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM