AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Comunicación / Funciones Google
  • Posibles casos de error:
  • Requisitos previos para la autenticación OAuth 2.0
  • Autenticación OAuth 2.0
  • Persistencia de la conexión
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Gestiona la autenticación en un servidor de Google (mediante el modo de autenticación "OAuth 2.0").. Esta función se ejecuta automáticamente cuando se ejecuta una función Gglxxx.
Observaciones:
  • Le recomendamos utilizar la función GglConnect (sintaxis 2) para agrupar las solicitudes de autorización realizadas por Google.
  • La desconexión se realiza automáticamente al cerrar la aplicación.
  • WEBDEV - Código Servidor Si su proyecto utiliza sesiones preiniciadas, esta función no debe utilizarse en la "Inicialización" Event sino en la "Inicializar el proyecto después de conectarse al sitio" Event.
// Connection by using the "OAuth 2.0" authentication mode
Cnt is gglConnection
Cnt.Email = "email_final_user@gmail.com"
Cnt.ClientID = "387756281032-qffa6dajjd5348iqhi558dkd98xxxxxx.apps.googleusercontent.com"
Cnt.ClientSecret = "S13DCA6KkYh1EgPv9-jLxxxh"
// During the connection, the user will have to validate the services used
// (For more details, see the additional examples)
IF GglConnect(Cnt) = False THEN
Error(ErrorInfo())
END
Sintaxis

Conectando con la autenticación básica Ocultar los detalles

<Result> = GglConnect(<Google connection>)
<Result>: booleano
  • True si se realizó la autenticación,
  • False si se produce un problema. Para obtener más información sobre el error, utilice la función ErrorInfo.
<Google connection>: Variable de tipo gglConnection
Nombre de la variable de tipo gglConnection que se utilizará.

Conectarse especificando los servicios utilizados Ocultar los detalles

<Result> = GglConnect(<Google connection> , <Google service>)
<Result>: booleano
  • True si se realizó la autenticación,
  • False si se produce un problema. Para obtener más información sobre el error, utilice la función ErrorInfo.
<Google connection>: Variable de tipo gglConnection
Nombre de la variable de tipo gglConnection a manipular.
<Google service>: Constante o combinación de constantes de tipo Integer
Servicio de Google para habilitar (la aplicación debe acceder a estos servicios):
gglServiceCalendarServicio "Google Calendar ": Google Calendar
gglServiceContacts"Servicio "Contactos de Google: Gestión de contactos de Google
gglServiceDocuments" Servicio de lista de documentos de Google: Gestión de documentos
gglServicePicasa"Picasa" service
Observaciones

Posibles casos de error:

  • La conexión de INTERNET no es válida.
  • La autenticación no se realizó correctamente.

Requisitos previos para la autenticación OAuth 2.0

Para conectarse con la autenticación OAuth 2.0, la aplicación debe estar declarada en la consola del desarrollador de Google.: https://developers.google.com/console. En la consola:
  1. Haga clic en "Crear un proyecto".. Indique el nombre de su proyecto. Se propone automáticamente un identificador para su proyecto.
  2. Validar
  3. El proyecto se crea.
  4. En el menú de la izquierda, haga clic en "API y autentificación" y luego en "API"..
  5. Seleccione los servicios requeridos por la aplicación:
    • Para acceder a los Calendar s, selecciona "Calendar API" (categoría "Google Apps API s").
    • Para acceder a los contactos, selecciona "Contactos API" (categoría "Google Apps API s").
    • Para acceder a los documentos de Google, selecciona "Drive API" (categoría "Google Apps API s").
    • Para acceder a los álbumes de Picasa y a los documentos, no es necesario seleccionar un API específico..
  6. En el menú de la izquierda, haga clic en "Identificadores"..
  7. A continuación, haga clic en el botón "Crear un identificador de cliente"..
    • Seleccione el tipo de aplicación: "Aplicación instalada".
    • La pantalla de autorización debe configurarse durante la primera creación del identificador de cliente..
    • En la pantalla de autorización, en la zona "Nombre del producto", introduzca el nombre de su solicitud, por ejemplo.
    • Haga clic en "Guardar".
    • Se vuelve a visualizar la pantalla para crear el identificador de cliente..
      • WINDEV Para las aplicaciones WINDEV, seleccione "Aplicación instalada" y, a continuación, "Otros".
      • WEBDEV - Código Servidor Para los sitios WEBDEV, seleccione "Aplicación web".. En la zona "URI de redirección autorizada", introduzca la Address del servidor Web donde está instalado su sitio seguida de "/WD29 0AWP/WD29 0Awp.exe/GGLCONNECT_RETURN".. La sintaxis tiene el siguiente tipo:
        http[s]://<Server_name_or_IP_address>[:<Port>]/WD290AWP/WD290AWP.exe/GGLCONNECT_RETURN

        Por ejemplo:
        • En modo de prueba, con un servidor Web configurado en el puerto Default (80):
          http://localhost/WD290AWP/WD290AWP.exe/GGLCONNECT_RETURN
        • En modo de prueba, con un servidor Web configurado en el puerto 8080:
          http://localhost:8080/WD290AWP/WD290AWP.exe/GGLCONNECT_RETURN
        • En INTERNET implementación, con un servidor Web configurado en el puerto Default con "www.mydomain.com" como dominio:
          http://www.mydomain.com//WD290AWP/WD290AWP.exe/GGLCONNECT_RETURN
        • En INTERNET implementación, con un servidor Web configurado en https en el puerto Default (443) con "www.mydomain.com" como dominio:
          https://www.mydomain.com//WD290AWP/WD290AWP.exe/GGLCONNECT_RETURN
        • En INTRANET implementación , con un servidor web configurado en el puerto 81 con " INTRANET Server" como nombre de computadora:
          http://IntranetServer:81/WD290AWP/WD290AWP.exe/GGLCONNECT_RETURN
    • Validar. Se crean los identificadores de cliente:
      • Identificación del cliente. Este identificador debe almacenarse. Se utilizará en la gglConnection Variable.
      • Código secreto del cliente. Este identificador debe almacenarse. Se utilizará en la gglConnection Variable.
      • WINDEV Redirección URI. Compruebe si se ha especificado "http://localhost.

Autenticación OAuth 2.0

La llamada a GglConnect desencadena:
  1. La apertura de una ventana de inicio de sesión para el usuario final. Si el correo electrónico Property del gglConnection Variable Se especifica 06500, Google rellena previamente la ventana de conexión con el correo electrónico Address especificado.. La ventana de inicio de sesión no se muestra si el usuario ya está conectado..
  2. La apertura de la ventana de autorización. El usuario final debe permitir que la aplicación acceda a su cuenta. Esta ventana se cierra automáticamente cuando el usuario acepta o cancela.
Observaciones:
  • Si se utiliza la sintaxis 1 (conexión con la autenticación básica), se mostrará una ventana de autorización cada vez que se intente acceder a un nuevo servicio..
  • Si se utiliza la sintaxis 2 (conexión especificando los servicios utilizados), se mostrará una ventana de autorización para todos los servicios solicitados al principio de la aplicación..
  • La ventana de autorización se puede visualizar durante el primer inicio de la aplicación si se gestiona la persistencia de la conexión (véase el párrafo siguiente)..
WEBDEV - Código Servidor Limitaciones: La autenticación OAuth 2.0 no es compatible si la conexión requiere interactividad (validación de páginas de Google).:
  • En los Webservices.
  • En Ajax.
  • En las tareas programadas de WEBDEV.
  • En las tareas retrasadas de WEBDEV.
  • En los hilos.
En este caso, le recomendamos que utilice el sistema persistencia de conexión.
Atención: El tiempo de espera de la sesión también se aplica cuando se muestran las páginas de conexión de Google..

Persistencia de la conexión

Al conectarse a los servicios de Google, los tokens de autenticación no se guardan. Por lo tanto, es necesario volver a identificarse y permitir el acceso a la aplicación cada vez que se ejecute (es decir, cada vez que se utilice una gglConnection Variable "en blanco")..
Para que la autorización de acceso sea persistente, todo lo que tiene que hacer es llamar a las funciones de serialización de WLanguage.
Ejemplo de implementación de la persistencia utilizando un archivo XML:
let sAuthPersistenceFile = SysDir(srLocalAppData) + [fSep] + "gglauth.xml"
 
cnt is gglConnection
// If connection already established
IF fFileExist(sAuthPersistenceFile) THEN
// Restore the connection
let bufDeserialize = fLoadBuffer(sAuthPersistenceFile)
Deserialize(cnt, bufDeserialize, psdXML)
ELSE
// New connection
cnt.Email = "email@gmail.com"
cnt.ClientID = "387756281032-qffa6dajjd5348iqhi558xxxxxxxx.apps.googleusercontent.com"
cnt.ClientSecret = "Sxxxxx-jLMwwh"
END
 
IF GglConnect(cnt, gglCalendarService) THEN
// Save the connection in order to re-use it later
bufSerialize is Buffer
Serialize(cnt, bufSerialize, psdXML)
fSaveBuffer(sAuthPersistenceFile, bufSerialize)
END

Observación: Los tokens de autenticación de un gglConnection Variable se pueden borrar a través de GglDesconectar 000300030003000300030002f002300.
Componente: wd290ggl.dll
Versión mínima requerida
  • Versión 14
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 23/11/2023

Señalar un error o enviar una sugerencia | Ayuda local