Estoy usando la API de Google Calendar y para obtener los eventos de un calendario, debe enviar una solicitud GET al punto final https://www.googleapis.com/calendar/v3/calendars/calendarId/events .
El problema es que calendarId puede contener un # como en addressbook#contacts@group.v.calendar.google.com y cuando obtengo https://www.googleapis.com/calendar/v3/calendars/addressbook#contacts@group.v .calendar.google.com/events , en realidad solo obtiene https://www.googleapis.com/calendar/v3/calendars/addressbook , es decir, la parte de la URL antes del # (lo veo en la pestaña Chrome Network y Acabo de recibir GET https://www.googleapis.com/calendar/v3/calendars/addressbook 404 en la consola)
Entonces, ¿cómo puedo obligar al método fetch() a usar la URL completa?
Probablemente necesite codificar en porcentaje el calendarId :
> encodeURIComponent("addressbook#contacts@group.v.calendar.google.com") "addressbook%23contacts%40group.v.calendar.google.com"