implementar google event ejemplo create apis java google-api google-calendar-api

java - ejemplo - ¿Cómo utilizar correctamente el comando Events.Insert de la API de Google Calendar?



google calendar php ejemplo (4)

Así que he estado usando el método REST para invocar la API de Google. Necesito insertar eventos en un calendario particular cuyo ID tengo. Esta es la solicitud POST que estoy enviando:

Dirección: https://www.googleapis.com/calendar/v3/calendars/ {calendarID} / events

Cuerpo:

Authorization: Bearer {access_token} { "end": { "dateTime": "2012-08-30T12:30:00", "timeZone": "America/Chicago" }, "start": { "dateTime": "2012-08-30T14:00:00", "timeZone": "America/Chicago" }, "summary": "E E 306", "colorId": "9" "kind": "calendar#event" }

Y esta es la respuesta que sigo recibiendo:

{ "error":{ "errors":[ { "domain":"calendar", "reason":"timeRangeEmpty", "message":"The specified time range is empty.", "locationType":"parameter", "location":"timeMax" } ], "code":400, "message":"The specified time range is empty." } }

No entiendo lo que podría estar haciendo mal. Ingresé todos los datos necesarios, y me está pidiendo un parámetro que ni siquiera existe para los eventos. Tampoco puedo encontrar ninguna documentación sobre este problema en particular. ¿Alguien ve algo que me estoy perdiendo?


Compare la fecha y hora de inicio y finalización, el inicio siempre es menor que el final. También cambie el formato de fecha y hora como "2018-03-07T18: 00: 00 + 05: 30".

En iOS, utilizo

Este código para el formato de fecha y hora:

let dateTimeFormatter = DateFormatter() dateTimeFormatter = Locale(identifier: "en_US_POSIX") dateTimeFormatter = "yyyy-MM-dd''T''HH:mm:ssZZZZZ" dateTimeFormatter = TimeZone(secondsFromGMT: 0) let dateTimeString = dateTimeFormatter.string(from: YOUR_DATE_TIME)

este código para el formato de fecha:

let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd" let dateString = dateFormatter.string(from: YOUR_DATE)

Una clave y su valor es suficiente, las dos claves restantes no son necesarias, es decir, tiene la clave ''dateTime'' con valor, entonces no hay necesidad de las claves ''fecha'' y ''zona horaria''. Si desea establecer ''timeZone'' es opcional, pero solo uno de ''date'' y ''dateTime'' es suficiente.



En medio de hacer esta pregunta, me enfrenté con tanta fuerza que creo que me hice daño cerebral. Como resultado, la razón por la que no pude encontrar ninguna documentación sobre este problema fue por lo espectacularmente tonto que fue.

La razón por la que me estaba dando un error tan gracioso fue porque en el proceso de copiar y pegar que estaba haciendo para probar, cambié las horas de inicio y finalización. Entonces, le dije a los calendarios de Google que ingresen a un evento que terminó antes de que comenzara, lo que generalmente no termina demasiado bien.

En pocas palabras , si obtiene un error al referirse al parámetro "timeMax" al intentar insertar un evento, verifique las horas de inicio y finalización.


{ "end": { "dateTime": "2014-04-01T10:00:00-06:00" }, "start": { "dateTime": "2014-04-02T10:00:00-06:00" }