Я новичок в Google Scripts, поэтому я боролся с этой проблемой уже несколько дней. Прошли через несколько источников, и ни один не имеет такую же проблему, как я.
Я установил основанный на времени триггер для моего скрипта, чтобы импортировать CSV из моего Gmail в лист. Отправленные электронные письма - это ежедневные отчеты, извлекаемые из DV360, которые затем используются для заполнения информационной панели Data Studio.
Моя первая проблема заключается в том, что либо триггер не работает должным образом (что может быть маловероятным), либо что с моим кодом что-то не так. Одна странная вещь, которую я заметил, состоит в том, что триггер работает для одного из отчетов, но не работает для остальных 6.
У меня есть несколько сценариев в этом проекте, которые все импортируют разные вложения CSV из разных писем и каждый заполнить их собственную вкладку в файле Google Sheets.
После того, как я запустил скрипт один раз и заполнил соответствующий лист, он не запустится снова, даже если в моем почтовом ящике будет электронное письмо с более новым вложением (например, если я запустил скрипт, на следующий день он не заполнит лист отчетом за указанный день.
Ниже приведен код, который я использовал.
function importCSVFromGmail() {
var threads = GmailApp.search("Label:Audience_List");
var message = threads[0].getMessages().pop();
var attachment = message.getAttachments()[0];
if (attachment != null) {
var attachName = attachment.getName();
// Is the attachment a CSV file
if (attachName.substring(attachName.length-4) === ".csv") {
var id = "1cl5nZiJ2Jh__pMig-BoGTKpE9kM8-5nYe178WdI6ChI";
var name = "Audience_List_Backend";
var sheet = SpreadsheetApp.openById(id);
var tab = sheet.getSheetByName(name);
var tabInfo = sheet.getSheetByName("Audience_List_Backend");
tabInfo.getRange("A1").setValue(new Date());
// Clear the content of the sheet
tab.clearContents().clearFormats();
var csvData = Utilities.parseCsv(attachment.getDataAsString(), ",");
tab.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
}
}
}
Заранее благодарю за любую помощь!