Я пытаюсь написать сценарий, который будет загружать указанный лист из листов 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");
}