Как диагностировать «Ошибка 429» в Google Script - PullRequest
1 голос
/ 21 июня 2019

Мой сценарий проходит по списку, при каждом индексе он сохраняет лист в моей книге в формате PDF, а затем сохраняет его в папке на моем диске Google.В списке 7 человек.Проблема в том, что мой скрипт выдает ошибку 429 после экспорта 6-го PDF.Я пытаюсь выяснить, как решить эту ошибку, но я новичок в сценариях Google, поэтому мне нужна помощь в правильном направлении.

Изображение ошибки

function ToPortrait() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var validation_sheet = ss.getSheetByName('ValidDSM');
  var lastRow = validation_sheet.getLastRow();
  var inputs = ss.getSheetByName('ValidDSM').getRange('A2:A'+lastRow).getValues();
  var sheet2 = ss.getSheetByName('DSM');
  var tab = ss.getSheetByName('DSMD');

  var url = ss.getUrl().replace(/edit$/,'');
  var sheets = ss.getSheets();
  var optSheetId = 1123194386;

  var options = {
      headers: {
        'Authorization': 'Bearer ' +  ScriptApp.getOAuthToken()
      }
    }


  // Loop through List of 7
  for (var i = 0; i < inputs.length; i++){
    sheet2.getRange('B3').setValue(inputs[i][0]);
    SpreadsheetApp.flush();
    Utilities.sleep(500);

    // Loop through all sheets, generating PDF files.
  //for (var i=0; i<sheets.length; i++) {
    //var sheet = sheets[i];

    // If provided a optSheetId, only save it.
   // if (optSheetId && optSheetId !== sheet.getSheetId()) continue; 

    //additional parameters for exporting the sheet as a pdf
    var url_ext = 'export?exportFormat=pdf&format=pdf'   //export as pdf
        + '&gid=' + tab.getSheetId()   //the sheet's Id
        // following parameters are optional...
        + '&size=letter'      // paper size
        + '&portrait=false'    // orientation, false for landscape
        + '&fitw=true'        // fit to width, false for actual size
        + '&sheetnames=false&printtitle=false&pagenumbers=false'  //hide optional headers and footers
        + '&gridlines=false'  // hide gridlines
        + '&fzr=false';       // do not repeat row headers (frozen rows) on each page


     // Get folder containing spreadsheet, for later export
    var name = sheet2.getRange('B3').getValue();    
    var folderID = "1IsffOYYQOHZJKggUzRTntfjmJKN0F6ga"; // Folder id to save in a folder.
    var folder = DriveApp.getFolderById(folderID);
    var response = UrlFetchApp.fetch(url + url_ext, options)
     var blob = response.getBlob().setName(name);

    //save the pdf to drive
    folder.createFile(blob);


}
}

Я ожидаю, что будут экспортированы все 7 PDF-файлов, но только 6 из них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...