401 Unauthorized - Ошибка прав при экспорте Google Sheet в формате PDF через скрипт - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь написать сценарий, который будет загружать указанный лист из листов Google в формате PDF и отправлять его по электронной почте.Запрос на PDF не выполняется из-за 401, но я не уверен, как это исправить (если это проблема с кодом или разрешение, которое мне нужно установить в другом месте).Вот мой код:


function download_as_pdf(pdfName) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = SpreadsheetApp.getActiveSheet();
  var sheetId = sheet.getSheetId(); 
  var url_base = ss.getUrl().replace(/edit$/,'') + "export?";
  var url_ext = 'exportFormat=pdf'   //export as pdf
      + '&format=pdf'     //export as pdf
      + '&size=letter'      // paper size
      + '&portrait=true'    // orientation, false for landscape
      + '&fitw=true'        // fit to width, false for actual size
      + '&sheetnames=false'  //hide optional headers and footers
      + '&printtitle=false'  //hide optional headers and footers
      + '&pagenumbers=false'  //hide page numbers
      + '&gridlines=false'  // hide gridlines
      + '&fzr=false'       // do not repeat row headers (frozen rows) on each page
      + '&gid='  //the sheet's Id

  var token = ScriptApp.getOAuthToken();

  var params = {
    headers: {
      'Authorization': 'Bearer ' + token,
    },
    'muteHttpExceptions' : true
  };

  var response = UrlFetchApp.fetch(url_base + url_ext + sheetId, params)


  // This indicates 401 response
  Logger.log(response.getResponseCode());

  var blob = response.getBlob().getAs('application/pdf').setName(pdfName + ".pdf");

}

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