Google Sheets App Script邮件发送失败异常:请求失败https://docs.google.com



我有5个谷歌表都有相同的代码下面,只有一个是有这个错误的Exception: Request failed for https://docs.google.com returned code 401. Truncated server

//Get active sheets
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// Base URL this is used to send to the API 
var url = "https://docs.google.com/spreadsheets/d/SS_ID/export?".replace("SS_ID", ss.getId());
//Format PDF settig up styling
var url_ext = 'exportFormat=pdf&format=pdf' // export as pdf / csv / xls / xlsx
+ '&size=A4' // 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
+ '&gid='; // the sheet's Id
//API to fetch PFD of google sheet
var token = ScriptApp.getOAuthToken();
var response = UrlFetchApp.fetch(url + url_ext + sheet.getSheetId(), {                                 
headers : {
'Authorization' : 'Bearer ' + token
}
}).getBlob().setName(sheet.getName() + ".pdf");
sheet_as_pdf_blob_document=response;
// Define your variables here
var beerOrderrecipient="test@test.com";
var beerOrdersubject=SpreadsheetApp.getActiveSpreadsheet().getName();
var beerOrderbody="Hello,nnNew items have been added to your Ordered Beer List. Attached is a printable copy of the most up to date list. n- Have a great day!";
var nameOfSender="Operations";

function sendOrderedSheet() {
var message = {
to: beerOrderrecipient,
subject:beerOrdersubject,
body: beerOrderbody,
name: nameOfSender,
attachments: [sheet_as_pdf_blob_document]
}  
MailApp.sendEmail(message);
SpreadsheetApp.getUi().alert("The email has been sent thank you!");  
}

我不知道是什么使这个不同。如果我需要包含任何其他内容,请告诉我!

我能解决这个问题。所以很明显,很久以前有一个触发器调用不同的函数,但它从未成功过,它每天都会自动关闭并失败,所以我删除了触发器和它的连接函数,一切又开始工作了!

我是这样写的:

function sendOrderedSheet() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var url = "https://docs.google.com/spreadsheets/d/SS_ID/export?".replace("SS_ID", ss.getId());
var url_ext = 'exportFormat=pdf&format=pdf' + '&size=A4' + '&portrait=true' + '&fitw=true&source=labnol' + '&sheetnames=false&printtitle=false' + '&pagenumbers=false&gridlines=false' + '&fzr=false' + '&gid=';
var token = ScriptApp.getOAuthToken();
var response = UrlFetchApp.fetch(url + url_ext + sheet.getSheetId(), {
headers: {
'Authorization': 'Bearer ' + token
}
}).getBlob().setName(sheet.getName() + ".pdf");
const sheet_as_pdf_blob_document = response;
var beerOrderrecipient = "myemail";
var beerOrdersubject = SpreadsheetApp.getActiveSpreadsheet().getName();
var beerOrderbody = "Hello,nnNew items have been added to your Ordered Beer List. Attached is a printable copy of the most up to date list. n- Have a great day!";
var nameOfSender = "Operations";
var message = {
to: beerOrderrecipient,
subject: beerOrdersubject,
body: beerOrderbody,
name: nameOfSender,
attachments: [sheet_as_pdf_blob_document]
}
MailApp.sendEmail(message);
//SpreadsheetApp.getUi().alert("The email has been sent thank you!");  
}

最新更新