Fazendo um fechamento de um projeto, quis saber quantos compromissos eu tive sobre esse projeto. Nem cogitei ficar contando no Google Agenda, portanto, sem nenhum tutorial visual aqui de como conseguir isso.
Mas o objeto CalendarApp tem tudo que precisamos pra isso. Basta pegar uma referência ao objeto de calendário usando a seguinte linha:
CalendarApp.getCalendarById("fabio.chicout@mydomain.com.br")
O que vai te dar acesso aos eventos desse calendário usando o método getEvents. Esse método tem uma sobrecarga importante:
getEvents(startDate, endDate, options)
Onde os 2 primeiros parâmetros delimitam uma janela de busca pela data, obviamente. O 3o parâmetro, options, é um objeto JSON. Dentre várias opções que ele pode ter, para esse fim, podemos mandar:
options = { search: "keyword"}
Onde keyword pode ser qualquer string de pesquisa sobre os eventos.
Juntando essas peças, montei o seguinte método:
function CountEventsByKeyWord(keyword){
var eventsData = {};
eventsData.eventsCount = 0;
eventsData.invitesSent = 0;
var eventsByKeyword = CalendarApp.getCalendarById("fabio.chicout@mydomain.com.br")
.getEvents(new Date("2020-03-22"), new Date("2020-08-27"), {search: keyword})
for (var i = 0; i < eventsByKeyword.length; i++){
eventsData.eventsCount++;
eventsData.invitesSent += eventsByKeyword[i].getGuestList().length;
}
return eventsData;
}