Ir al contenido


Foto

Acceso a Google Calendar

API Google Calendar Rest jSon DelphiXE8 oAuth

  • Por favor identifícate para responder
3 respuestas en este tema

#1 erickahr

erickahr

    Newbie

  • Miembros
  • Pip
  • 7 mensajes

Escrito 24 noviembre 2016 - 12:25

Saludos compañeros.

 

Quiero realizar una aplicación VCL que se conecté con el calendario de Google.

  • Debe mostrar los eventos que tengo dados de alta en mi calendario Google.
  • Al registrar un evento en mi aplicación debe registrarse en Google.

He logrado avances al respecto; Mediante los componentes de REST he logrado autenticarme.

Después de conseguir el acceso a mi cuenta de google desde la aplicación, recupero los eventos en un JSON, esto ha funcionado bien pero, aún tengo muchas dudas sobre el flujo de la autorización oAuth2.0 y otros detalles.

 

Por el momento la pregunta es ¿Cómo puedo insertar eventos?

 

Tengo este código:


delphi
  1. RESTRequest1.ResetToDefaults;
  2. RESTClient1.ResetToDefaults;
  3. RESTResponse1.ResetToDefaults;
  4. RESTResponseDataSetAdapter1.ResetToDefaults;
  5.  
  6. RESTRequest1.Method := rmPOST;
  7. RESTClient1.BaseURL := 'https://www.googleapis.com/calendar/v3/';
  8. RESTClient1.Authenticator := OAuth2Authenticator1;
  9. RESTRequest1.Resource := 'calendars/primary/events';
  10. RESTRequest1.Params.AddItem('summary', 'Another Test', TRESTRequestParameterKind.pkGETorPOST);
  11. RESTRequest1.Params.AddItem('dateTime', '2016-02-09T17:00:00', TRESTRequestParameterKind.pkGETorPOST);
  12. RESTRequest1.Params.AddItem('timeZone', 'Europe/London', TRESTRequestParameterKind.pkGETorPOST);
  13. RESTRequest1.Params.AddItem('description', 'Test de Evento', TRESTRequestParameterKind.pkGETorPOST);
  14. RESTRequest1.Params[0].ContentType := ctAPPLICATION_JSON;
  15. RESTRequest1.Params[1].ContentType := ctAPPLICATION_JSON;
  16. RESTRequest1.Params[2].ContentType := ctAPPLICATION_JSON;
  17. RESTRequest1.Params[3].ContentType := ctAPPLICATION_JSON;
  18. RESTRequest1.Execute;

Pero me devuelve este Error (Cabe mencionar que no se debe a falla de logueo, ya que previo a esto ya ingrese con la cuenta deseada e incluso logro descargar los eventos).

 


php
  1. {
  2.   "error":
  3.   {
  4.     "errors":
  5.     [
  6.             {
  7.         "domain":"global",
  8.         "reason":"parseError",
  9.         "message":"Parse Error"
  10.       }
  11.     ]
  12. ,
  13.     "code":400,
  14.     "message":"Parse Error"
  15.   }
  16. }

Espero que alguien que tenga experiencia con esto me pueda ayudar ya que ando un poco perdido.
 
Gracias de antemano.
 

  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 24 noviembre 2016 - 01:31

Aparentemente aún te faltan parámetros que pasar:

https://developers.g...insert#examples

Saludos.
  • 1

#3 erickahr

erickahr

    Newbie

  • Miembros
  • Pip
  • 7 mensajes

Escrito 24 noviembre 2016 - 04:57

Eso es verdad, aqui viene una de mis dudas: la hora de inicio y fin tienen una estructura como esta


php
  1. 'end' => array(
  2.     'dateTime' => '2015-05-28T17:00:00-07:00',
  3.     'timeZone' => 'America/Los_Angeles',
  4.   ),

¿Cómo puedo agregar eso como parámetro? (como los parámetros que estoy enviando)


php
  1. RESTRequest1.Params.AddItem('description', 'Test de Evento', TRESTRequestParameterKind.pkGETorPOST);


  • 0

#4 sir.dev.a.lot

sir.dev.a.lot

    Advanced Member

  • Miembros
  • PipPipPip
  • 545 mensajes
  • Location127.0.0.1

Escrito 26 diciembre 2016 - 10:43

Google Delphi Components, los he probado y funcionan muy bien, me enlazan el Calendario del Telefono Windows Phone 8 al Calendario de Google por Web y a la Aplicacion de Escritorio.

 

http://www.sync-comp...google-calendar

 

Saludos!


  • 0





Etiquetado también con una o más de estas palabras: API, Google Calendar, Rest, jSon, DelphiXE8, oAuth

IP.Board spam blocked by CleanTalk.