Проблема со значением "row", потому что он не повторяется так, как вы хотите.Потому что каждый раз, когда внутренний для финиша, значение «строки» снова устанавливается в 3.Кроме того, во 2-й итерации внутреннего for значение «d» снова равно 0, поэтому не следует ставить значение «row» в зависимость от значения «d».Я исправил, и это работало для меня со всеми событиями дня, как это:
var row=3;
for (var i=0;i<events.length;i++) {
var myformula_placeholder = '';
var guestList=events[i].getGuestList(); //GET THE EMAIL AND STATUS OF EACH GUEST FOR EACH EVENT
for(var d=0; guestList!=null && d<guestList.length; d++)
{
var details=[[mycal,events[i].getTitle(), events[i].getDescription(), myformula_placeholder, guestList[d].getName(), guestList[d].getEmail(), events[i].getMyStatus(), events[i].getCreators(), events[i].isAllDayEvent(), events[i].isRecurringEvent(), events[i].getLocation(), events[i].getStartTime(), events[i].getEndTime(), ('' + events[i].getVisibility()), events[i].getDateCreated(), events[i].getLastUpdated()]];
var range=sheet.getRange(row,1,1,16);
Logger.log(details);
var range2 = sheet.getRange(row,1,1,16);
range2.setValues(details);
row++; // increment row to start the next output after the previous output
}
}
}
Единственные изменения - это "row = 3", для которого я вывел его за пределы внешнего и включил ряд= row + d "с просто" row ++ "(и помещая его во внутреннюю часть для).
О других проблемах:
1) Ресурсы (конференц-залы) рассматриваются как еще один гость, так что если вы не хотите, чтобы это произошло, вы можете использовать «Если» с адресом электронной почты ресурса в условии, чтобы избежать этого (их адреса заканчиваются на @ resource.calendar.google.com).
2) Проверьте, используете ли вы точный часовой пояс, который вы хотите, в этом случае вы используете время PST, поэтому календарь должен быть также во времени PST.(или просто не устанавливайте часовой пояс, и он займет тот же часовой пояс сценария, который, как я полагаю, совпадает с календарем).
Редактировать
Также вы можете проверить дополнительную информацию о каждом госте, посмотрите документацию здесь: https://developers.google.com/apps-script/reference/calendar/event-guest
Если вы хотите, чтобы владелец также был в списке гостей, вы должны использовать getGuestList(true)
с логическим значением внутри.Документация: https://developers.google.com/apps-script/reference/calendar/calendar-event#getguestlist
Наконец, если имена некоторых из приглашенных не появляются (но должна отображаться остальная часть информации в этом ряду), возможно, вам не дали разрешение на просмотр.эта информация (Google не сообщает вам имена пользователей, которые не отправили вам электронное письмо).