node google for event create javascript google-api oauth-2.0 google-calendar-api

for - Acceder a la API de Google Calendar sin autorización a través de JavaScript



google calendar api scope (1)

Estoy intentando acceder a un calendario público (desde Google Calendar) que contiene días festivos nacionales:

calendarId: ''pt_br.brazilian#[email protected]''

Como el calendario es público, pensé que podría acceder a él solo con la clave API:

function OnLoadCallback() { var config = { client_id: ''32j4lk32j5kj342l5h.googleuser.com'', //fake client id scope: ''https://www.googleapis.com/auth/calendar.readonly'' }; gapi.client.setApiKey(''fId345AM20HXXXXXXXXXXXXXXXXgT3f9kyp2REfkaw2''); //fake api key gapi.client.load(''calendar'', ''v3'', function() { var today = new Date(), request; request = gapi.client.calendar.calendarList.get({ calendarId: ''pt_br.brazilian#[email protected]'', timeMin: (new Date(today.getFullYear(), today.getMonth(), today.getDay(), 0, 0, 0, 0)).toISOString(), timeMax: (new Date(today.getFullYear(), today.getMonth(), today.getDay(), 23, 59, 59, 999)).toISOString(), fields: ''items(creator(displayName,email),end,endTimeUnspecified,start,summary)'' }); request.execute(function(response) { window.alert(''length of items: '' + response.items.length); }); }); }

Sin embargo, sigo recibiendo la siguiente respuesta, que es un error 401 (no autorizado):

{ "error": { "errors": [ { "domain": "global", "reason": "required", "message": "Login Required", "locationType": "header", "location": "Authorization" } ], "code": 401, "message": "Login Required" } }

¿Alguien puede aclarar si lo que estoy tratando de hacer es alcanzable o no?
Y, por último, si es posible, ¿qué debo cambiar con respecto a mi código actual?


Pude hacer lo mismo usando jQuery.

var mykey = ''your_api_key''; // typically like Gtg-rtZdsreUr_fLfhgPfgff var calendarid = ''you_calendar_id''; // will look somewhat like [email protected] $.ajax({ type: ''GET'', url: encodeURI(''https://www.googleapis.com/calendar/v3/calendars/'' + calendarid+ ''/events?key='' + mykey), dataType: ''json'', success: function (response) { //do whatever you want with each }, error: function (response) { //tell that an error has occurred } });

Sin embargo, debe asegurarse de haber hecho lo siguiente:

1) Registre un proyecto en https://code.google.com/apis/console
2) Generar una clave de acceso API simple
3) Asegúrese de que la API de calendario esté activada en servicios.

Lea más en https://developers.google.com/google-apps/calendar/firstapp