getName не возвращает имя пользователя после редактирования мероприятия

Помогите со скриптами, пожалуйста. Задача передо мной стояла такая: выгружать в гугл-таблицу данные из гугл-календаря (начало, конец мероприятия, название, описание, место проведения). Год назад решил не париться и нашёл готовое решение в виде дополнения: https://workspace.google.com/u/3/marketplace/app/good_events_planner/708606587953

Годик поработал, всё ок, теперь нужно реализовать там выгрузку гостей (это те, кому приглашения отправляешь в мероприятии).

Короче, пока учился, понял, что можно не только почты, но и имена гостей подтягивать через getName (а мне это ещё удобнее). Но проблема вот в чём: делаю новое мероприятие, забиваю сразу гостей туда – всё показывает в таблице. Добавляю нового гостя в уже созданное мероприятие – вместо имени пустая строчка (но почта исправно подтягивается, а имя с почты – нет). Даже если того же гостя, который был при создании мероприятия, удалить и добавить заново – он уже не показывается (имя не показывается, почта идёт как обычно). Статусы приглашения не важны (принял, не принял, возможно), у нас этим никто не заморачивается, мы тупо добавляем в мероприятие тех, кто там уже был, чтобы потом этими данными оперировать.

На скрине как раз видно, напротив моей почты ([email protected]) нет имени, ниже в мероприятии нет имени. Т.е. почты все на месте, а имена – нет. Код тоже приложу, может я чего не так мыслю, второй день в этом разбираюсь просто). Даты подтягиваются из таблицы, ячейки A1 и B1. Те, у кого имена видны полностью – созданы изначально с этими гостями. Где косяки – это исправленные мероприятия.

function calendar() {
  
var cal = CalendarApp.getCalendarById("youremail");
var table = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  
  var datn = table.getRange(1,1).setNumberFormat("dd/mm/yyyy h:mm:ss");
  var datk = table.getRange(1,2).setNumberFormat("dd/mm/yyyy h:mm:ss");
  
  datn = table.getRange(1,1).getValue();
  datk = table.getRange(1,2).getValue();
  
 var dann = cal.getEvents(datn, datk);
 
  
  for (var i=0; i<dann.length;i++){
    
    var title = dann[i].getTitle();
    var dn = dann[i].getStartTime();
    var dk = dann[i].getEndTime();
    var loc = dann[i].getLocation();
    var opisanie = dann[i].getDescription();
    var guestsEmail = dann[i].getGuestList();
  

var guest = '';
    
    for(var j = 0; j < guestsEmail.length; j++) {
      guest = guest + guestsEmail[j].getEmail() + '\n';
      }

var guests = '';
    
    for(var k = 0; k < guestsEmail.length; k++) {
        guests = guests + guestsEmail[k].getName() + '\n';
    }
        
    table.getRange(i+5, 3).setValue(title);
    table.getRange(i+5, 1).setValue(dn);
    table.getRange(i+5, 2).setValue(dk);
    table.getRange(i+5, 4).setValue(loc);
    table.getRange(i+5, 5).setValue(opisanie);
    table.getRange(i+5, 6).setValue(guests);
    table.getRange(i+5, 7).setValue(guest);
       
  }
  
  
}

введите сюда описание изображения


Ответы (0 шт):