DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Fonctions Google
  • Propriétés spécifiques à la description des variables de type gglConnexion
  • Pré-requis pour l'authentification OAuth 2.0
  • Persistance de la connexion
  • Fonctions utilisant une variable de type gglConnexion
  • Fonctions (syntaxe préfixée) manipulant des variables de type gglConnexion
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
gglConnexion (Type de variable)
En anglais : gglConnection
Le type gglConnexion permet de décrire une connexion aux services Google et de gérer l'authentification auprès des différents services. Les caractéristiques de cette connexion peuvent être définies et modifiées à l'aide de différentes propriétés WLangage.
Remarque : Pour plus de détails sur la déclaration de ce type de variable et l'utilisation des propriétés WLangage, consultez Déclaration d'une variable.
Exemple
// Connexion
Cnx est un gglConnexion
Cnx.Email = "email_utilisateur_final@gmail.com"
Cnx.ClientID = "387756281032-qffa6dajjd5348iqhi558dkd98xxxxxx.apps.googleusercontent.com"
Cnx.ClientSecret = "S13DCA6KkYh1EgPv9-jLxxxh"
SI GglConnecte(Cnx) = Faux ALORS
Erreur(ErreurInfo())
FIN
Remarques

Propriétés spécifiques à la description des variables de type gglConnexion

Les propriétés suivantes peuvent être utilisées pour manipuler une connexion Google :
NomType manipulé Effet
ClientIDChaîne de caractèresIdentifiant client donné lors de la déclaration de l'application dans la console Google.
ClientSecretChaîne de caractèresCode secret du client donné lors de la déclaration de l'application dans la console Google.
EmailChaîne de caractèresEmail du client final. Cette propriété n'est pas obligatoire. Cette propriété permet de pré-renseigner la fenêtre de login du client à son compte Google.
Attention : Cette propriété ne permet pas de récupérer l'adresse email du compte authentifié.

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.
      • WINDEV Pour les applications WINDEV, 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 "/WD290AWP/WD290Awp.exe/GGLCONNECT_RETOUR". La syntaxe est du type :
        http[s]://<Nom_ou_IP_Serveur>[:<Port>]/WD290AWP/WD290AWP.exe/GGLCONNECT_RETOUR

        Par exemple :
        • En mode test, avec un serveur Web configuré sur le port par défaut (80) :
          http://localhost/WD290AWP/WD290AWP.exe/GGLCONNECT_RETOUR
        • En mode test, avec un serveur Web configuré sur le port 8080 :
          http://localhost:8080/WD290AWP/WD290AWP.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/WD290AWP/WD290AWP.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/WD290AWP/WD290AWP.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/WD290AWP/WD290AWP.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.
      • WINDEV URI de redirection. Vérifiez que "http://localhost" est précisé.

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-loguer 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.

Fonctions utilisant une variable de type gglConnexion

Toutes les fonctions de communication avec les services Google prennent en paramètre une variable de type gglConnexion.
GglConnectePermet de s'authentifier auprès d'un serveur Google (via le mode d'authentification "OAuth 2.0").
GglDéconnecteDéconnecte l'utilisateur des services Google utilisés. Lors de la prochaine reconnexion, les autorisations liées aux services Google seront redemandées.
GglEcritCrée et / ou met à jour des données sur le serveur Google (ajout ou modification de données).
GglEnvoieDocumentEnvoie un document sur le serveur Google.
GglListeAgendaRécupère la liste des agendas Google associés au compte Google spécifié.
GglListeContactRécupère la liste des contacts associés au compte Google spécifié.
GglListeContactParRequêteRécupère une liste de contacts à partir de paramètres personnalisés.
GglListeDocumentRécupère la liste des documents disponibles sur le serveur Google pour l'utilisateur en cours.
GglListeGroupeContactRécupère la liste des groupes de contacts associés au compte Google spécifié.
GglRécupèreAgendaRécupère un agenda Google et ses événements à partir de son titre ou identifiant.
GglRécupèreDocumentTélécharge un document depuis le service Google Docs.
GglRemplitAgendaRemplit un agenda précédemment récupéré : les événements correspondant à l'agenda sont récupérés (éventuellement en utilisant certains critères).
GglRemplitAgendaParRequêteRemplit un agenda précédemment récupéré : les événements correspondant à l'agenda sont récupérés à partir d'une requête personnalisée.
GglRequêteEffectue une requête de communication (requête HTTP) à un service Google.
GglSupprimeSupprime des données sur le serveur Google.

Fonctions (syntaxe préfixée) manipulant des variables de type gglConnexion

<Variable gglConnexion>.ConnectePermet de s'authentifier auprès d'un serveur Google (via le mode d'authentification "OAuth 2.0").
<Variable gglConnexion>.DéconnecteDéconnecte l'utilisateur des services Google utilisés. Lors de la prochaine reconnexion, les autorisations liées aux services Google seront redemandées.
<Variable gglConnexion>.EcritCrée et / ou met à jour des données sur le serveur Google (ajout ou modification de données).
<Variable gglConnexion>.EnvoieDocumentEnvoie un document sur le serveur Google.
<Variable gglConnexion>.ListeAgendaRécupère la liste des agendas Google associés au compte Google spécifié.
<Variable gglConnexion>.ListeContactRécupère la liste des contacts associés au compte Google spécifié.
<Variable gglConnexion>.ListeContactParRequêteRécupère une liste de contacts à partir de paramètres personnalisés.
<Variable gglConnexion>.ListeDocumentRécupère la liste des documents disponibles sur le serveur Google pour l'utilisateur en cours.
<Variable gglConnexion>.ListeGroupeContactRécupère la liste des groupes de contacts associés au compte Google spécifié.
<Variable gglConnexion>.RécupèreAgendaRécupère un agenda Google et ses événements à partir de son titre ou identifiant.
<Variable gglConnexion>.RécupèreDocumentTélécharge un document depuis le service Google Docs.
<Variable gglConnexion>.RemplitAgendaRemplit un agenda précédemment récupéré : les événements correspondant à l'agenda sont récupérés (éventuellement en utilisant certains critères).
<Variable gglConnexion>.RemplitAgendaParRequêteRemplit un agenda précédemment récupéré : les événements correspondant à l'agenda sont récupérés à partir d'une requête personnalisée.
<Variable gglConnexion>.RequêteEffectue une requête de communication (requête HTTP) à un service Google.
<Variable gglConnexion>.SupprimeSupprime des données sur le serveur Google.
Version minimum requise
  • Version 14
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale