php - implementar - Obtén JSON de un Google Calendar público
insertar evento google calendar php (2)
¿Cómo puedo obtener un JSON
con los eventos de un calendario público de Google? Tengo su ID
pero no tengo acceso a ella. No quiero cambiar sus eventos, ni iniciar sesión.
Me gustaría obtener un JSON
para sincronizar con mi base de datos PHP
/ MySql
.
Probado https://www.googleapis.com/calendar/v3/calendars/{calendarId}
pero tengo un error de inicio de sesión:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Login Required",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Login Required"
}
}
¡Tu calendario debe ser compartido públicamente! Este funciona si solo ha compartido el estado de disponibilidad:
http://www.google.com/calendar/feeds/{calendarId}@group.calendar.google.com/public/basic?orderby=starttime&sortorder=ascending&futureevents=true&alt=json
Detalles completos : este solo funciona si el calendario se comparte de forma totalmente pública.
http://www.google.com/calendar/feeds/{calendarId}@group.calendar.google.com/public/full?orderby=starttime&sortorder=ascending&futureevents=true&alt=json
O simplemente libre-ocupado
http://www.google.com/calendar/feeds/{calendarId}@group.calendar.google.com/public/free-busy?orderby=starttime&sortorder=ascending&futureevents=true&alt=json
Los parámetros orderby , sortorder y futureevents son opcionales, pero pueden ayudarle más tarde :)
Desde el 17 de noviembre de 2014, v1 y v2 de la API de Google Calendar se han deshabilitado.
Google Calendar API V3 requiere una autenticación auténtica para casi todas sus operaciones. Por lo que puedo decir, esto también requiere la interacción del usuario.
Sin embargo, para los calendarios públicos, todavía es posible usar un solo enlace para obtener datos JSON (actualmente esto no está documentado por Google, no sé si es una supervisión de su parte o API privada que podría desaparecer mañana).
- Registre su aplicación con la Consola de Desarrolladores de Google
- Active la API de Google Calendar en la Consola de desarrolladores de Google.
- En Credenciales , cree una nueva clave de acceso de API pública (es posible que desee dejar las referencias en blanco para las pruebas)
La URL de JSON ahora se ve así
https://www.googleapis.com/calendar/v3/calendars/ {calendarid} / events? key = {Su clave de API pública}
(Las llaves {} no deben aparecer en la url real).
La documentación de la API describe los parámetros adicionales que puede incluir (excepto que también puede incluir el parámetro & callback = , como con la mayoría de las solicitudes JSON, para crear una respuesta JSONP para javascript).