javascript - examples - google calendar api php
Javascript de Google Calendar API establece el calendario a público (3)
El recurso Calendars no tiene ningún atributo con respecto a la visibilidad. Sin embargo, dado que está utilizando la lista de Eventos , su recurso tiene el atributo de visibilidad donde puede filtrar (aunque sea manualmente) los elementos que son públicos.
público
The event is public and event details are visible to all readers of the calendar.
Estoy utilizando la API de google calendar para mostrar una versión simplificada del calendario de mi empresa. Me gustaría que cualquiera vea mi versión del calendario en mi sitio. Actualmente, solo puedo ver la página del calendario y, si tuviera que compartir la URL de la página con alguien, no funciona, no pueden ver nada.
Estoy usando el código de inicio de Google aquí:
var CLIENT_ID = ''MYID**'';
var SCOPES = ["https://www.googleapis.com/auth/calendar.readonly"];
function checkAuth() {
gapi.auth.authorize(
{
''client_id'': CLIENT_ID,
''scope'': SCOPES,
''immediate'': true
}, handleAuthResult);
}
function handleAuthResult(authResult) {
var authorizeDiv = document.getElementById(''authorize-div'');
loadCalendarApi();
}
function handleAuthClick(event) {
gapi.auth.authorize({
client_id: CLIENT_ID,
scope: SCOPES,
immediate: false
}, handleAuthResult);
return false;
}
function loadCalendarApi() {
gapi.client.load(''calendar'', ''v3'', listUpcomingEvents);
}
function listUpcomingEvents() {
var request = gapi.client.calendar.events.list({
''calendarId'': ''[email protected]'',
''timeMin'': ''2011-06-03T10:00:00-07:00'',
''showDeleted'': false,
''singleEvents'': true,
''maxResults'': 1000,
''orderBy'': ''startTime''
});
Pero parece que no puedo encontrar dónde hacer público este calendario. Los dos ejemplos en stackoverflow no explican mucho y parece que no puedo conectar nada en la documentación de API de Google.
No es necesario iniciar el proceso de autorización OAuth 2.0 (que está en desuso) como lo hace el ejemplo. De hecho, puede cargar el calendario usando la clave API de su navegador y la identificación del calendario:
function checkAuth() {
//gapi.auth.authorize(
// {
// ''client_id'': CLIENT_ID,
// ''scope'': SCOPES.join('' ''),
// ''immediate'': true
// }, handleAuthResult);
gapi.client.setApiKey(''browser API key'');
handleAuthResult({ error: false });
}
function listUpcomingEvents() {
var request = gapi.client.calendar.events.list({
''calendarId'': ''your calendar id'',
''timeMin'': (new Date()).toISOString(),
''showDeleted'': false,
''singleEvents'': true,
''maxResults'': 10,
''orderBy'': ''startTime''
});
request.execute(function(resp) {
var events = resp.items;
appendPre(''Upcoming events:'');
if (events.length > 0) {
for (i = 0; i < events.length; i++) {
var event = events[i];
var when = event.start.dateTime;
if (!when) {
when = event.start.date;
}
appendPre(event.summary + '' ('' + when + '')'')
}
} else {
appendPre(''No upcoming events found.'');
}
});
}
Si solo quieres compartir tu calendario, puedes hacerlo público y luego compartirlo con todos. Así es como.
Para hacer público su calendario, puede seguir los pasos de este sitio web https://support.google.com/calendar/answer/37083?hl=en .
Haz tu calendario público
En una computadora, abra Google Calendar.
En la parte superior derecha, haga clic en Configuración Configuración botón de engranaje> Configuración.
Abre la pestaña Calendarios.
Haga clic en el nombre del calendario que desea compartir.
Abra la pestaña Compartir este calendario.
Marque la opción Hacer público este calendario.
Si no desea que otras personas vean los detalles de sus eventos, seleccione Ver solo libre / ocupado (ocultar detalles).
Clic en Guardar.
y luego puedes compartir tu calendario con un iframe dentro de tus opciones de calendario. https://support.google.com/calendar/answer/41207?hl=en
Insertar un calendario en su sitio web
En una computadora, abra Google Calendar. Solo puede obtener el código para incrustar en su sitio web desde una computadora, no desde la aplicación móvil.
En la parte superior derecha, haga clic en Configuración Configuración botón de engranaje> Configuración.
Abre la pestaña Calendarios.
Haga clic en el nombre del calendario que desea incrustar.
En la sección Insertar este calendario, copie el código iframe que se muestra.
Abra el editor de su sitio web, luego pegue este código donde desee que se muestre el calendario.