У меня есть самодельный скрипт для сохранения вложений на диск из Gmail. Я перебираю вложения и регистрирую время сохранения каждого вложения. Я заметил некоторые странные расхождения между некоторыми сохранениями. Как показано на следующем рисунке. Иногда между петлями есть полторы минуты. Каждый файл представляет собой PDF-файл, и все они примерно одинакового размера, например, 100 кб. каждый. Не удивительно, что этот скрипт обрабатывает 50 вложений из одного письма.
Мой цикл for выглядит следующим образом:
for (var k in attachments) {
var attachment = attachments[k];
var isDefinedType = checkIfDefinedType_(attachment);
if (!isDefinedType) continue;
var attachmentBlob = attachment.copyBlob();
var file = DriveApp.createFile(attachmentBlob);
if (parentFolder.addFile(file)) {
root.removeFile(file);
writeToSheet(file, message, msgId, k, totalattachments)
}
}
Ниже приведены соответствующие функции.
function checkIfDefinedType_(attachment) {
var fileName = attachment.getName();
var temp = fileName.split('.');
var fileExtension = temp[temp.length - 1].toLowerCase();
if (fileTypesToExtract.indexOf(fileExtension) !== -1) return true;
else return false;}
function writeToSheet(file, message, msgId, k, totalattachments) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var fileId = file.getId();
var fileUrl = file.getUrl();
var formattedDate = Utilities.formatDate(new Date(), "GMT", "dd-MM-yyyy HH:mm:ss");
var emailSubject = message.getSubject();
var emailFrom = message.getFrom();
var sheet = ss.getSheetByName('Log');
sheet.appendRow([msgId, formattedDate, emailFrom, emailSubject, k, totalattachments, file, fileId, fileUrl]);}
Что-то не так с моим кодом?