PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Cas d'erreurs possibles :
  • Pré-requis pour l'authentification OAuth 2.0
  • Authentification OAuth 2.0
  • Persistance de la connexion
  • Syntaxe compatible jusqu'au mois d'avril 2015 (utilisable avec les versions antérieures à la version 20)
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Permet de s'authentifier auprès d'un serveur Google. Cette fonction est automatiquement exécutée lors de l'exécution d'une fonction Gglxxx.
Remarques :
  • Il est conseillé d'utiliser la fonction GglConnecte (syntaxe 2) pour regrouper les demandes d'autorisations faites par Google.
  • La déconnexion est automatiquement effectuée à la fermeture de l'application.
  • Versions 20 et supérieures
    WEBDEV - Code Serveur Si votre projet utilise les sessions prélancées, cette fonction ne doit pas être utilisée dans l'événement "Initialisation" du projet mais dans l'événement "Initialisation du projet après connexion au site".
    Nouveauté 20
    WEBDEV - Code Serveur Si votre projet utilise les sessions prélancées, cette fonction ne doit pas être utilisée dans l'événement "Initialisation" du projet mais dans l'événement "Initialisation du projet après connexion au site".
    WEBDEV - Code Serveur Si votre projet utilise les sessions prélancées, cette fonction ne doit pas être utilisée dans l'événement "Initialisation" du projet mais dans l'événement "Initialisation du projet après connexion au site".
Avertissement
A partir de la version 20, cette fonctionnalité évolue. En effet, le mode authentification auprès du serveur Google utilisait dans les versions précédentes l'API "ClientLogin". Cette API ne sera plus accessible à partir du mois d'avril 2015. Seul le mode d'authentification "OAuth 2.0" pourra être utilisé. Ce mode d'authentification nécessite :
  • la déclaration de l'application dans la console Google,
  • l'utilisation de nouvelles propriétés dans la variable de type gglConnexion.
La fonction gglConnecte évolue pour proposer dans la version 20 le mode d'authentification "OAuth 2.0".
// ATTENTION : A PARTIR DE LA VERSION 20, LE TYPE GGLCONNEXION CHANGE
// Connexion utilisant le mode d'authentification "OAuth 2.0"
Cnx est un gglConnexion
Cnx..Email = "email_utilisateur_final@gmail.com"
Cnx..ClientID = "387756281032-qffa6dajjd5348iqhi558dkd98xxxxxx.apps.googleusercontent.com"
Cnx..ClientSecret = "S13DCA6KkYh1EgPv9-jLxxxh"
// Lors de la connexion, l'utilisateur devra valider les services utilisés
// (Consultez les exemples supplémentaires pour plus de détails)
SI GglConnecte(Cnx) = Faux ALORS
Erreur(ErreurInfo())
FIN
// ----------------------------------------------
// SYNTAXE OBSOLETE DEPUIS NOVEMBRE 2014 POUR LES AGENDAS
// ET OBSOLETE A PARTIR DU MOIS AVRIL 2015 POUR LES AUTRES FONCTIONS GOOGLE
// ----------------------------------------------
// Connexion utilisant l'API ClientLogin
Cnx est un gglConnexion
Cnx..Email = "balthazar@gmail.com"
Cnx..MotDePasse = "azerty"
Cnx..NomApplication = "MonAppli-03"
SI GglConnecte(Cnx) = Faux ALORS
Erreur(ErreurInfo())
FIN
Syntaxe

Se connecter avec l'authentification de base Masquer les détails

<Résultat> = GglConnecte(<Connexion Google>)
<Résultat> : Booléen
  • Vrai si l'authentification a été réalisée,
  • Faux en cas de problème. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo.
<Connexion Google> : Variable de type gglConnexion
Nom de la variable de type gglConnexion à utiliser.
Versions 20 et supérieures
Attention : les propriétés de la variable de type gglConnexion doivent être revues pour l'authentification OAuth 2.0.
Nouveauté 20
Attention : les propriétés de la variable de type gglConnexion doivent être revues pour l'authentification OAuth 2.0.
Attention : les propriétés de la variable de type gglConnexion doivent être revues pour l'authentification OAuth 2.0.
Versions 20 et supérieures

Se connecter en spécifiant les services utilisés Masquer les détails

<Résultat> = GglConnecte(<Connexion Google> , <Service Google>)
<Résultat> : Booléen
  • Vrai si l'authentification a été réalisée,
  • Faux en cas de problème. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo.
<Connexion Google> : Variable de type gglConnexion
Nom de la variable de type gglConnexion à utiliser.
<Service Google> : Constante ou combinaison de constantes de type entier
Service Google à activer (l'application doit accéder à ces services) :
gglServiceAgendaService "Agenda Google Calendar" : Agenda Google
gglServiceContactsService "Google Contacts" : Gestion des contacts Google
gglServiceDocumentsService "Google Documents List" : Gestion des documents
gglServicePicasaService "Picasa"
Nouveauté 20

Se connecter en spécifiant les services utilisés Masquer les détails

<Résultat> = GglConnecte(<Connexion Google> , <Service Google>)
<Résultat> : Booléen
  • Vrai si l'authentification a été réalisée,
  • Faux en cas de problème. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo.
<Connexion Google> : Variable de type gglConnexion
Nom de la variable de type gglConnexion à utiliser.
<Service Google> : Constante ou combinaison de constantes de type entier
Service Google à activer (l'application doit accéder à ces services) :
gglServiceAgendaService "Agenda Google Calendar" : Agenda Google
gglServiceContactsService "Google Contacts" : Gestion des contacts Google
gglServiceDocumentsService "Google Documents List" : Gestion des documents
gglServicePicasaService "Picasa"

Se connecter en spécifiant les services utilisés Masquer les détails

<Résultat> = GglConnecte(<Connexion Google> , <Service Google>)
<Résultat> : Booléen
  • Vrai si l'authentification a été réalisée,
  • Faux en cas de problème. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo.
<Connexion Google> : Variable de type gglConnexion
Nom de la variable de type gglConnexion à utiliser.
<Service Google> : Constante ou combinaison de constantes de type entier
Service Google à activer (l'application doit accéder à ces services) :
gglServiceAgendaService "Agenda Google Calendar" : Agenda Google
gglServiceContactsService "Google Contacts" : Gestion des contacts Google
gglServiceDocumentsService "Google Documents List" : Gestion des documents
gglServicePicasaService "Picasa"
Remarques

Cas d'erreurs possibles :

  • La connexion Internet n'est pas valide.
  • L'authentification n'a pas pu être réalisée correctement.
Versions 20 et supérieures

Pré-requis pour l'authentification OAuth 2.0

Pour se connecter avec l'authentification OAuth 2.0, il est nécessaire de déclarer l'application sur votre console développeur Google : https://developers.google.com/console. Dans la console :
  1. Cliquez sur "Créer un projet". Donnez le nom de votre projet. Un identifiant est automatiquement proposé pour votre projet.
  2. Validez
  3. Le projet est créé.
  4. Dans le menu de gauche, cliquez sur "API et authentification" puis sur "API".
  5. Choisissez les services dont l'application a besoin :
    • Pour l'accès aux agendas, choisissez "Calendar API" (catégorie "Google Apps APIs").
    • Pour l'accès aux contacts, choisir "Contacts API" (catégorie "Google Apps APIs").
    • Pour l'accès aux documents Google, choisir "Drive API" (catégorie "Google Apps APIs").
    • Pour l'accès aux albums Picasa et aux documents, aucune API spécifique n'est à sélectionner.
  6. Dans le menu de gauche, cliquez sur "Identifiants".
  7. Cliquez ensuite sur le bouton "Créer un identifiant client".
    • Sélectionnez le type d'application "Application installée".
    • A la première création de l'identifiant client, il est nécessaire de configurer l'écran d'autorisation.
    • Dans l'écran d'autorisation, dans la zone "Nom de produit", saisissez par exemple le nom de votre application.
    • Cliquez sur "Enregistrer".
    • L'écran de création de l'identifiant client s'affiche à nouveau.
      • WINDEVWindows Mobile Pour les applications WINDEV et WINDEV Mobile, sélectionnez "Application installée" puis "Autre".
      • WEBDEV - Code Serveur Pour les sites WEBDEV, sélectionnez "Application Web". Dans la zone "URI de redirection autorisés", saisissez l'adresse du serveur Web sur lequel votre site est installé suivie de "/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR". La syntaxe est du type :
        http[s]://<Nom_ou_IP_Serveur>[:<Port>]/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR

        Par exemple :
        • En mode test, avec un serveur Web configuré sur le port par défaut (80) :
          http://localhost/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR
        • En mode test, avec un serveur Web configuré sur le port 8080 :
          http://localhost:8080/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR
        • En déploiement Internet, avec un serveur Web configuré sur le port par défaut avec comme domaine "www.mondomaine.com" :
          http://www.mondomaine.com/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR
        • En déploiement Internet, avec un serveur Web configuré en https sur le port par défaut (443) avec comme domaine "www.mondomaine.com" :
          https://www.mondomaine.com/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR
        • En déploiement Intranet, avec un serveur Web configuré sur le port 81 avec comme nom de machine "ServeurIntranet" :
          http://ServeurIntranet:81/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR
    • Validez. Les identifiants client sont créés :
      • Identifiant client. Cet identifiant est à conserver. Il sera utilisé dans la variable de type gglConnexion.
      • Code secret du client. Cet identifiant est à conserver. Il sera utilisé dans la variable de type gglConnexion.
      • WINDEVWINDEV Mobile URI de redirection. Vérifiez que "http://localhost" est précisé.
Nouveauté 20

Pré-requis pour l'authentification OAuth 2.0

Pour se connecter avec l'authentification OAuth 2.0, il est nécessaire de déclarer l'application sur votre console développeur Google : https://developers.google.com/console. Dans la console :
  1. Cliquez sur "Créer un projet". Donnez le nom de votre projet. Un identifiant est automatiquement proposé pour votre projet.
  2. Validez
  3. Le projet est créé.
  4. Dans le menu de gauche, cliquez sur "API et authentification" puis sur "API".
  5. Choisissez les services dont l'application a besoin :
    • Pour l'accès aux agendas, choisissez "Calendar API" (catégorie "Google Apps APIs").
    • Pour l'accès aux contacts, choisir "Contacts API" (catégorie "Google Apps APIs").
    • Pour l'accès aux documents Google, choisir "Drive API" (catégorie "Google Apps APIs").
    • Pour l'accès aux albums Picasa et aux documents, aucune API spécifique n'est à sélectionner.
  6. Dans le menu de gauche, cliquez sur "Identifiants".
  7. Cliquez ensuite sur le bouton "Créer un identifiant client".
    • Sélectionnez le type d'application "Application installée".
    • A la première création de l'identifiant client, il est nécessaire de configurer l'écran d'autorisation.
    • Dans l'écran d'autorisation, dans la zone "Nom de produit", saisissez par exemple le nom de votre application.
    • Cliquez sur "Enregistrer".
    • L'écran de création de l'identifiant client s'affiche à nouveau.
      • WINDEVWindows Mobile Pour les applications WINDEV et WINDEV Mobile, sélectionnez "Application installée" puis "Autre".
      • WEBDEV - Code Serveur Pour les sites WEBDEV, sélectionnez "Application Web". Dans la zone "URI de redirection autorisés", saisissez l'adresse du serveur Web sur lequel votre site est installé suivie de "/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR". La syntaxe est du type :
        http[s]://<Nom_ou_IP_Serveur>[:<Port>]/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR

        Par exemple :
        • En mode test, avec un serveur Web configuré sur le port par défaut (80) :
          http://localhost/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR
        • En mode test, avec un serveur Web configuré sur le port 8080 :
          http://localhost:8080/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR
        • En déploiement Internet, avec un serveur Web configuré sur le port par défaut avec comme domaine "www.mondomaine.com" :
          http://www.mondomaine.com/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR
        • En déploiement Internet, avec un serveur Web configuré en https sur le port par défaut (443) avec comme domaine "www.mondomaine.com" :
          https://www.mondomaine.com/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR
        • En déploiement Intranet, avec un serveur Web configuré sur le port 81 avec comme nom de machine "ServeurIntranet" :
          http://ServeurIntranet:81/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR
    • Validez. Les identifiants client sont créés :
      • Identifiant client. Cet identifiant est à conserver. Il sera utilisé dans la variable de type gglConnexion.
      • Code secret du client. Cet identifiant est à conserver. Il sera utilisé dans la variable de type gglConnexion.
      • WINDEVWINDEV Mobile URI de redirection. Vérifiez que "http://localhost" est précisé.

Pré-requis pour l'authentification OAuth 2.0

Pour se connecter avec l'authentification OAuth 2.0, il est nécessaire de déclarer l'application sur votre console développeur Google : https://developers.google.com/console. Dans la console :
  1. Cliquez sur "Créer un projet". Donnez le nom de votre projet. Un identifiant est automatiquement proposé pour votre projet.
  2. Validez
  3. Le projet est créé.
  4. Dans le menu de gauche, cliquez sur "API et authentification" puis sur "API".
  5. Choisissez les services dont l'application a besoin :
    • Pour l'accès aux agendas, choisissez "Calendar API" (catégorie "Google Apps APIs").
    • Pour l'accès aux contacts, choisir "Contacts API" (catégorie "Google Apps APIs").
    • Pour l'accès aux documents Google, choisir "Drive API" (catégorie "Google Apps APIs").
    • Pour l'accès aux albums Picasa et aux documents, aucune API spécifique n'est à sélectionner.
  6. Dans le menu de gauche, cliquez sur "Identifiants".
  7. Cliquez ensuite sur le bouton "Créer un identifiant client".
    • Sélectionnez le type d'application "Application installée".
    • A la première création de l'identifiant client, il est nécessaire de configurer l'écran d'autorisation.
    • Dans l'écran d'autorisation, dans la zone "Nom de produit", saisissez par exemple le nom de votre application.
    • Cliquez sur "Enregistrer".
    • L'écran de création de l'identifiant client s'affiche à nouveau.
      • WINDEVWindows Mobile Pour les applications WINDEV et WINDEV Mobile, sélectionnez "Application installée" puis "Autre".
      • WEBDEV - Code Serveur Pour les sites WEBDEV, sélectionnez "Application Web". Dans la zone "URI de redirection autorisés", saisissez l'adresse du serveur Web sur lequel votre site est installé suivie de "/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR". La syntaxe est du type :
        http[s]://<Nom_ou_IP_Serveur>[:<Port>]/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR

        Par exemple :
        • En mode test, avec un serveur Web configuré sur le port par défaut (80) :
          http://localhost/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR
        • En mode test, avec un serveur Web configuré sur le port 8080 :
          http://localhost:8080/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR
        • En déploiement Internet, avec un serveur Web configuré sur le port par défaut avec comme domaine "www.mondomaine.com" :
          http://www.mondomaine.com/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR
        • En déploiement Internet, avec un serveur Web configuré en https sur le port par défaut (443) avec comme domaine "www.mondomaine.com" :
          https://www.mondomaine.com/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR
        • En déploiement Intranet, avec un serveur Web configuré sur le port 81 avec comme nom de machine "ServeurIntranet" :
          http://ServeurIntranet:81/WD240AWP/WD240Awp.exe/GGLCONNECT_RETOUR
    • Validez. Les identifiants client sont créés :
      • Identifiant client. Cet identifiant est à conserver. Il sera utilisé dans la variable de type gglConnexion.
      • Code secret du client. Cet identifiant est à conserver. Il sera utilisé dans la variable de type gglConnexion.
      • WINDEVWINDEV Mobile URI de redirection. Vérifiez que "http://localhost" est précisé.
Versions 20 et supérieures

Authentification OAuth 2.0

L'appel à la fonction GglConnecte provoque :
  1. L'ouverture d'une fenêtre de login pour l'utilisateur final. Si la propriété ..Email de la variable gglConnexion est spécifiée, Google pré-remplit la fenêtre de connexion avec l'adresse email indiquée. Si l'utilisateur est déjà connecté, la fenêtre de login ne s'affiche pas.
  2. L'ouverture de la fenêtre d'autorisation. L'utilisateur final doit autoriser l'application à accéder à son compte. Cette fenêtre se ferme automatiquement lorsque l'utilisateur accepte ou annule.
Remarques :
  • Si la syntaxe 1 est utilisée (connexion avec authentification de base), une fenêtre d'autorisation sera affichée à chaque tentative d'accès à un nouveau service.
  • Si la syntaxe 2 est utilisée (connexion en spécifiant les services utilisés), une fenêtre d'autorisation sera affichée pour tous les services demandés au début de l'application.
  • La fenêtre d'autorisation peut être affichée uniquement au premier lancement de l'application si la persistance de la connexion est gérée (voir paragraphe suivant).
  • Windows Mobile Attention : L'authentification n'est pas possible avec Internet Explorer (navigateur trop ancien). Il est nécessaire d'utiliser un navigateur récent (par exemple Opéra Mobile).
WEBDEV - Code Serveur Limitations : L'authentification OAuth 2.0 n'est pas gérée si la connexion a besoin d'interactivité (validation des pages Google) :
  • Dans les Webservices.
  • En Ajax.
  • Dans les tâches planifiées WEBDEV.
  • Dans les tâches différées WEBDEV.
  • Dans les threads.
Dans ce cas, il est conseillé d'utiliser la persistance de la connexion.
Attention : Le timeout de la session s'applique également pendant l'affichage des pages de connexion Google.
Nouveauté 20

Authentification OAuth 2.0

L'appel à la fonction GglConnecte provoque :
  1. L'ouverture d'une fenêtre de login pour l'utilisateur final. Si la propriété ..Email de la variable gglConnexion est spécifiée, Google pré-remplit la fenêtre de connexion avec l'adresse email indiquée. Si l'utilisateur est déjà connecté, la fenêtre de login ne s'affiche pas.
  2. L'ouverture de la fenêtre d'autorisation. L'utilisateur final doit autoriser l'application à accéder à son compte. Cette fenêtre se ferme automatiquement lorsque l'utilisateur accepte ou annule.
Remarques :
  • Si la syntaxe 1 est utilisée (connexion avec authentification de base), une fenêtre d'autorisation sera affichée à chaque tentative d'accès à un nouveau service.
  • Si la syntaxe 2 est utilisée (connexion en spécifiant les services utilisés), une fenêtre d'autorisation sera affichée pour tous les services demandés au début de l'application.
  • La fenêtre d'autorisation peut être affichée uniquement au premier lancement de l'application si la persistance de la connexion est gérée (voir paragraphe suivant).
  • Windows Mobile Attention : L'authentification n'est pas possible avec Internet Explorer (navigateur trop ancien). Il est nécessaire d'utiliser un navigateur récent (par exemple Opéra Mobile).
WEBDEV - Code Serveur Limitations : L'authentification OAuth 2.0 n'est pas gérée si la connexion a besoin d'interactivité (validation des pages Google) :
  • Dans les Webservices.
  • En Ajax.
  • Dans les tâches planifiées WEBDEV.
  • Dans les tâches différées WEBDEV.
  • Dans les threads.
Dans ce cas, il est conseillé d'utiliser la persistance de la connexion.
Attention : Le timeout de la session s'applique également pendant l'affichage des pages de connexion Google.

Authentification OAuth 2.0

L'appel à la fonction GglConnecte provoque :
  1. L'ouverture d'une fenêtre de login pour l'utilisateur final. Si la propriété ..Email de la variable gglConnexion est spécifiée, Google pré-remplit la fenêtre de connexion avec l'adresse email indiquée. Si l'utilisateur est déjà connecté, la fenêtre de login ne s'affiche pas.
  2. L'ouverture de la fenêtre d'autorisation. L'utilisateur final doit autoriser l'application à accéder à son compte. Cette fenêtre se ferme automatiquement lorsque l'utilisateur accepte ou annule.
Remarques :
  • Si la syntaxe 1 est utilisée (connexion avec authentification de base), une fenêtre d'autorisation sera affichée à chaque tentative d'accès à un nouveau service.
  • Si la syntaxe 2 est utilisée (connexion en spécifiant les services utilisés), une fenêtre d'autorisation sera affichée pour tous les services demandés au début de l'application.
  • La fenêtre d'autorisation peut être affichée uniquement au premier lancement de l'application si la persistance de la connexion est gérée (voir paragraphe suivant).
  • Windows Mobile Attention : L'authentification n'est pas possible avec Internet Explorer (navigateur trop ancien). Il est nécessaire d'utiliser un navigateur récent (par exemple Opéra Mobile).
WEBDEV - Code Serveur Limitations : L'authentification OAuth 2.0 n'est pas gérée si la connexion a besoin d'interactivité (validation des pages Google) :
  • Dans les Webservices.
  • En Ajax.
  • Dans les tâches planifiées WEBDEV.
  • Dans les tâches différées WEBDEV.
  • Dans les threads.
Dans ce cas, il est conseillé d'utiliser la persistance de la connexion.
Attention : Le timeout de la session s'applique également pendant l'affichage des pages de connexion Google.
Versions 20 et supérieures

Persistance de la connexion

Lors de la connexion aux services Google, les tokens d’authentification ne sont pas sauvegardés. Il est donc nécessaire de se re-logguer et de ré-autoriser l’accès à l’application à chaque exécution de l’application (c’est-à-dire à chaque fois qu’une variable gglConnexion "vierge" est utilisée).
Pour que l’autorisation d’accès de l’application soit persistante, il suffit de passer par les fonctions de sérialisation du WLangage.
Exemple de mise en place de la persistance en utilisation un fichier XML :
soit sFichierPersistanceAuth = SysRep(srAppDataLocal) + [fSep] + "authggl.xml"
 
cnx est une gglConnexion
// Si connexion déjà effectuée
SI fFichierExiste(sFichierPersistanceAuth) ALORS
// Restauration de la connexion
soit bufDésérialise = fChargeBuffer(sFichierPersistanceAuth)
Désérialise(cnx, bufDésérialise, psdXML)
SINON
// Nouvelle connexion
cnx.Email = "email@gmail.com"
cnx.ClientID = "387756281032-qffa6dajjd5348iqhi558xxxxxxxx.apps.googleusercontent.com"
cnx.ClientSecret = "Sxxxxx-jLMwwh"
FIN
 
SI GglConnecte(cnx, gglServiceAgenda) ALORS
// Sauvegarde de la connexion pour réutilisation future
bufSérialise est un Buffer
Sérialise(cnx, bufSérialise, psdXML)
fSauveBuffer(sFichierPersistanceAuth, bufSérialise)
FIN
Remarque : Il est possible de vider les tokens d’authentification d’une variable de type gglConnexion grâce à la fonction GglDéconnecte.
Nouveauté 20

Persistance de la connexion

Lors de la connexion aux services Google, les tokens d’authentification ne sont pas sauvegardés. Il est donc nécessaire de se re-logguer et de ré-autoriser l’accès à l’application à chaque exécution de l’application (c’est-à-dire à chaque fois qu’une variable gglConnexion "vierge" est utilisée).
Pour que l’autorisation d’accès de l’application soit persistante, il suffit de passer par les fonctions de sérialisation du WLangage.
Exemple de mise en place de la persistance en utilisation un fichier XML :
soit sFichierPersistanceAuth = SysRep(srAppDataLocal) + [fSep] + "authggl.xml"
 
cnx est une gglConnexion
// Si connexion déjà effectuée
SI fFichierExiste(sFichierPersistanceAuth) ALORS
// Restauration de la connexion
soit bufDésérialise = fChargeBuffer(sFichierPersistanceAuth)
Désérialise(cnx, bufDésérialise, psdXML)
SINON
// Nouvelle connexion
cnx.Email = "email@gmail.com"
cnx.ClientID = "387756281032-qffa6dajjd5348iqhi558xxxxxxxx.apps.googleusercontent.com"
cnx.ClientSecret = "Sxxxxx-jLMwwh"
FIN
 
SI GglConnecte(cnx, gglServiceAgenda) ALORS
// Sauvegarde de la connexion pour réutilisation future
bufSérialise est un Buffer
Sérialise(cnx, bufSérialise, psdXML)
fSauveBuffer(sFichierPersistanceAuth, bufSérialise)
FIN
Remarque : Il est possible de vider les tokens d’authentification d’une variable de type gglConnexion grâce à la fonction GglDéconnecte.

Persistance de la connexion

Lors de la connexion aux services Google, les tokens d’authentification ne sont pas sauvegardés. Il est donc nécessaire de se re-logguer et de ré-autoriser l’accès à l’application à chaque exécution de l’application (c’est-à-dire à chaque fois qu’une variable gglConnexion "vierge" est utilisée).
Pour que l’autorisation d’accès de l’application soit persistante, il suffit de passer par les fonctions de sérialisation du WLangage.
Exemple de mise en place de la persistance en utilisation un fichier XML :
soit sFichierPersistanceAuth = SysRep(srAppDataLocal) + [fSep] + "authggl.xml"
 
cnx est une gglConnexion
// Si connexion déjà effectuée
SI fFichierExiste(sFichierPersistanceAuth) ALORS
// Restauration de la connexion
soit bufDésérialise = fChargeBuffer(sFichierPersistanceAuth)
Désérialise(cnx, bufDésérialise, psdXML)
SINON
// Nouvelle connexion
cnx.Email = "email@gmail.com"
cnx.ClientID = "387756281032-qffa6dajjd5348iqhi558xxxxxxxx.apps.googleusercontent.com"
cnx.ClientSecret = "Sxxxxx-jLMwwh"
FIN
 
SI GglConnecte(cnx, gglServiceAgenda) ALORS
// Sauvegarde de la connexion pour réutilisation future
bufSérialise est un Buffer
Sérialise(cnx, bufSérialise, psdXML)
fSauveBuffer(sFichierPersistanceAuth, bufSérialise)
FIN
Remarque : Il est possible de vider les tokens d’authentification d’une variable de type gglConnexion grâce à la fonction GglDéconnecte.

Syntaxe compatible jusqu'au mois d'avril 2015 (utilisable avec les versions antérieures à la version 20)

Jusqu'au mois d'avril 2015, il est possible d'utiliser la syntaxe suivante :
<Résultat> = GglConnecte(Connexion Google>)
où <Connexion Google> est une variable de type gglConnexion composée des propriétés suivantes :
NomType manipulé Effet
EmailChaîne de caractèresAdresse email Google de l'utilisateur (cela correspond à son login).
MotDePasseChaîne de caractèresMot de passe de connexion.
NomApplicationChaîne de caractèresNom de l'application. Cette propriété peut correspondre à une chaîne vide.
// SYNTAXE OBSOLETE A PARTIR DU MOIS AVRIL 2015
 
// Connexion
Cnx est un gglConnexion
Cnx..Email = "balthazar@gmail.com"
Cnx..MotDePasse = "azerty"
Cnx..NomApplication = "MonAppli-03"
SI GglConnecte(Cnx) = Faux ALORS
Erreur(ErreurInfo())
FIN
Attention : A partir du 14 novembre 2014, cette syntaxe ne peut plus être utilisée si vous utilisez le service "Agenda Google Calendar". Vous devez utiliser le mode d'authentification "OAuth 2.0" disponible :
  • en version 20.
  • en version 19 via la mise à jour 89 795 (ce module est présent parmi les correctifs disponibles dans les ressources pratiques de WINDEV, WEBDEV et WINDEV Mobile, http://www.pcsoft.fr/st/nouveautes-st.html).
Composante : wd240ggl.dll
Version minimum requise
  • Version 14
Documentation également disponible pour…
Commentaires
ATTENTION
En production la connexion Google nécessite aussi WD200ole.DLL sinon vous aurez la fenêtre d'authentification Google qui apparaîtra vide.
André STASZEWSKI
06 oct. 2015