21 de diciembre de 2015

Google Calendar API y oAuth 2.0 con Visual FoxPro 9

Aquí les dejo mi regalo de Navidad para todos los colegas de la Comunidad de Visual FoxPro en Español. Felices Fiestas y un excelente Año 2016 para todos!!!

Google Calendar API y oAuth 2.0 con Visual FoxPro 9

José Enrique Llopis
Alicante - España
Kansas City - Missouri - USA
jellopis@rocketmail.com
www.multilinkcrm.com
Mi perfil online: https://es.linkedin.com/in/pepellopis

A - Configurar Google Authentication OAuth 2.0

Ejecute la Google Developers Console https://console.developers.google.com y haga clic en Create a new Project:

Complete los datos del proyecto

Debe activar las API’s que usará en este proyecto, para hacer esto haga clic en el botón Enable and Manage APIs.

Seleccione Google Calendar API

Por supuesto esta técnica le abre la puerta para usar todas las restantes API de Google, no solo Calendar

Haga clic en el botón Enable API, como se muestra en la imagen

¡¡¡MUY IMPORTANTE!!! Debe crear las credenciales oAuth 2.0

Haga clic en Credentials y seleccione oAuth client ID

Ahora, usted podrá configurar la pantalla que Google mostrará al usuario para autorizar la aplicación, para hacer esto haga clic en Configure Consent Screen.

Complete los datos de la pantalla “Consent” y haga clic en Save

La siguiente cosa que debe hacer es seleccionar el tipo de aplicación, en este caso debe elegir la opción OTHER y hacer clic en Create.

Ahora tendrá las credenciales que le permitirán usar la aplicación con Google Calendar

¡¡¡GUARDE ESTOS DATOS!!!

Estos datos los puede ver posteriormente desde la Google Developers Console

B - Configurar la aplicación de ejemplo

Edite el fichero include: ./Include/xGCDefs.h

Debe cambiar donde pone YourClientID y YourClientSecret por las credenciales personalizadas que ha obtenido en el paso anterior

#define GC_CLIENT_ID YourClientID
#define GC_CLIENT_SECRET YourClientSecret

Cambie el texto YourClientID por el dato Client_ID

Cambie el texto YourClientSecret por el dato ClientSecret

Guarde el incluye y ahora podrá ejecutar la aplicación de ejemplo

Haga clic en CONNECT y ESPERE!!!!

Ahora haga clic en el botón Permitir

En este momento usted podrá seleccionar el calendario correcto, por defecto corresponde con la dirección de GMAIL, aunque usted ha podido crear otros adicionales.

Por ultimo podrá ver los datos de los eventos de Calendar en un cursor local de Fox:

NOTA:

No puede duplicar una referencia de evento, incluso si lo borra del calendario

NOTA:

En mis aplicaciones yo uso Web Connection http://www.west-wind.com para hacer las llamadas a Internet, como no es un producto gratuito las he sustituido en este ejemplo por Microsoft.XMLHTTP

C - Descarga del proyecto

La descarga del proyecto completo y la documentación está disponible en el siguiente enlace: GCalconnect.rar (832 KB)

LEGAL DISCLAIMER

THIS SAMPLE CODE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) SUSTAINED BY YOU OR A THIRD PARTY, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ARISING IN ANY WAY OUT OF THE USE OF THIS SAMPLE CODE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Jose Enrique Llopis
jellopis@rocketmail.com
www.multilinkcrm.com

13 comentarios :

  1. Cual es la utilidad y/o que uso se haria con ello "Google Calendar API y oAuth 2.0 con Visual FoxPro 9"

    Disculpen mi desconocimiento.

    ResponderBorrar
  2. Para mi es de gran utilidad, yo tengo un sistema de citas de donde saco estadisticas con esto puedo publicar mis citas a otros contactos e incluso agendar remotamente a un bajo costo

    ResponderBorrar
    Respuestas
    1. Amigo me podrias orientar para implementar en ASP.NET VB me seria de gran utilidad.

      Borrar
  3. Estoy intentando conectar pero al presionar el boton de conectar me dice que no se encuentra la variable YOURCLIENTID, me podrias ayudar un poco

    ResponderBorrar
    Respuestas
    1. tengo el mismo problema, ya modifique el .h pero me dice que no se encuentra la variable yourclientid

      Borrar
  4. Hola.
    Me ha sido de mucha ayuda, tanto para implementar google calendar como para usar acceso oauth2 a cuentas de gmail, pero no consigo hacer un update ó un delete a un evento del calendario. listar y crear eventos no ha habido gran problema.

    ResponderBorrar
    Respuestas
    1. Usas cuentas de GMail accediendo con oAuth2? Si pudieras compartir tu experiencia, sería de gran ayuda. Muchas gracias

      Borrar
  5. Hola.
    Me ha sido de mucha ayuda, tanto para implementar google calendar como para usar acceso oauth2 a cuentas de gmail, pero no consigo hacer un update ó un delete a un evento del calendario. listar y crear eventos no ha habido gran problema.

    ResponderBorrar
    Respuestas
    1. Hola, puedes compartir el codigo para enviar email de gmail usando la api y oAuth2

      Borrar
    2. Hola, pudo compartir el codigo para enviar email de gmail ? Me interesa
      \

      Borrar
  6. Estoy intentando probarlo, pero no encuentra varias funciones que comienzan con _FF. Las busqué por todo el proyecto y no las encontré. Alguna solucion?

    ResponderBorrar
  7. Hola, muy buena aplicacion. Alguien tiene codigo nativo para enviar emails usando GMAIL API con token oAuth 2.0.

    ResponderBorrar
  8. Estimados estoy buscando lo mismo para hacerlo con CDO al igual que Carlos Bermudez.
    Muchas gracias.
    Saludos.

    ResponderBorrar

Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.