Запущенный по времени триггер Google Sheets не выполнен - PullRequest
1 голос
/ 27 января 2020

Я установил Google Script, который зависит от времени и выполняется ежедневно. В большинстве дней он выполняется, но в некоторых он просто не выполняется вообще. Как вы можете видеть на рисунке ниже, импорт CSV просто не запускался 24-го или 25-го.

As you can see, it didn't execute on 25 or 26

У вас есть идеи, почему это может происходить? Я добавлю код внизу, чтобы вы могли посмотреть и помочь мне понять. Но обратите внимание, что код работает при выполнении, но, похоже, не выполняется. Иногда, когда он выполняется, он говорит, что превысил квоту, но все равно работает.

В основном все, что делает скрипт - это go на электронную почту и получает необходимый файл csv из электронной почты. почта, которая затем добавляется в лист Google.

function LaredouteDownloadIntake() {

  var sheetId="1HMlwxNS99p75IdRHXo1QoeWDWEz0gbTnqNufCfmqyzc";

  var threads = GmailApp.search("from:no-reply@omniture.com subject:Classeur Excel (labelium_it.xlsx) in:inbox newer_than:1d filename:.csv");
  var message = threads[0].getMessages()[0];
  var attachment = message.getAttachments()[3];

  attachment.setContentTypeFromExtension();
  Logger.log(attachment.getContentType());

  if (attachment.getContentType() === "text/csv") {

    console.log("Funcion checking if csv exists");
    var sheet = SpreadsheetApp.openById(sheetId).getSheetByName('LaredouteITAdobe');
    var csvData = Utilities.parseCsv(attachment.getDataAsString(), ",");

    var column = sheet.getRange('A:A');
    var values = column.getValues(); // get all data in one call
    var ct = 0;
    while ( values[ct][0] != "" ) {
      ct++;
    }

    sheet.getRange(ct, 1, csvData.length, csvData[0].length).setValues(csvData);

    var threads = GmailApp.search("from:no-reply@omniture.com subject:Classeur Excel (labelium_com.xlsx) in:inbox newer_than:1d filename:.csv");
    var message = threads[0].getMessages()[0];
    var attachment = message.getAttachments()[3];

    attachment.setContentTypeFromExtension();

    Logger.log(attachment.getContentType());

    if (attachment.getContentType() === "text/csv") {
      console.log("Funcion checking if csv exists");
      var sheet = SpreadsheetApp.openById(sheetId).getSheetByName('LaredouteCOMAdobe');
      var csvData = Utilities.parseCsv(attachment.getDataAsString(), ",");      
      var column = sheet.getRange('A:A');
      var values = column.getValues(); // get all data in one call
      var ct = 0;
      while ( values[ct][0] != "" ) {
        ct++;
      }

      sheet.getRange(ct, 1, csvData.length, csvData[0].length).setValues(csvData);
    }
  }
}

1 Ответ

1 голос
/ 29 января 2020

Похоже, это ошибка!

Я позволил себе сообщить об этом в системе отслеживания проблем Google, подробно описав поведение:

Вы можете нажать ☆ рядом с номером проблемы в левом верхнем углу на странице, что позволяет Google знать, что больше людей сталкиваются с этим и так что, скорее всего, его увидят быстрее.

Надеюсь, это поможет вам!

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