私はたまたまこれを行う関数を書きました。使用例を次に示します。
var summary = guestSummary(event.getGuestList());
Logger.log(summary);
...
[13-06-26 22:39:58:253 EDT] {respondedMaybe=0.0, awaiting=0.0, additional=0.0, respondedNo=0.0, respondedYes=1.0, invited=1.0}
CalendarEvent と CalendarEventSeries の両方をサポートするために、ゲスト リストをパラメーターとして使用することにしました。
/**
* Return an object enumerating guest list summary information.
*
* @param {EventGuest[]} guestlist Array of EventGuests.
*
* @returns {object} guest list summary
*/
function guestSummary( guestlist ) {
var invited = guestlist.length;
var respondedYes = 0;
var respondedMaybe = 0;
var respondedNo = 0;
var awaiting = 0;
var additional = 0;
guestlist.forEach( function (guest) {
switch (guest.getGuestStatus()) {
case CalendarApp.GuestStatus.INVITED:
awaiting++;
break;
case CalendarApp.GuestStatus.YES:
respondedYes++;
break;
case CalendarApp.GuestStatus.NO:
respondedNo++;
break;
case CalendarApp.GuestStatus.MAYBE:
respondedMaybe++;
break;
default:
break;
}
additional += guest.getAdditionalGuests();
});
return {
invited : invited,
respondedYes : respondedYes,
respondedMaybe : respondedMaybe,
respondedNo : respondedNo,
awaiting : awaiting,
additional : additional
};
}