PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Utilisation de la fonction GglConnecte (à partir de la version 20 ou de la mise à jour 19 - 89795)
  • Utilisation de la fonction GglConnecte (jusqu'à la version 19)
GglConnecte (Exemple)
Utilisation de la fonction GglConnecte (à partir de la version 20 ou de la mise à jour 19 - 89795)
Cet exemple utilise le mode d'authentification "OAuth 2.0".
googleConnexion est un gglConnexion
googleConnexion..Email = gsGoogleCompte
// de la forme : nom_utilisateur@gmail.com
googleConnexion..ClientID = gsGoogleClientID
// de la forme :
// 568705434218-sed6r7rgd7alcnbehs67f1k5s6ixqz84q.apps.googleusercontent.com
googleConnexion.ClientSecret = gsGoogleClientSecret
// de la forme : kshKqXQPxUWmGLDiyBcmrCR2
// Pour créer un ID et un Secret, il faut :
// 1 - Avoir un compte Google
// (pas forcément celui auquel on se connecte,
// ce sera le compte associé à cette application)
// 2 - Créer un projet dans la console Google (https://code.google.com/apis/console)
// 3 - Créer un projet dans la console en indiquant l'identifiant voulu
// (avec les restrictions Google : entre 6 et 30 caractères, que des minuscules...)
// note : ce n'est pas cet identifiant qu'il faudra utiliser
// 4 - Sélectionner le projet dans la console Google et choisir "Activer une API",
// et activer "Calendar API" (et "Contact API" si vous utilisez les contacts)
// 5 - Dans la console, aller sur "Identifiant", puis "Créer un identifiant client",
// et "Application installée"
// ==> Google donne l'identifiant et la clé secrète

// Il faut mémoriser et le cas échéant restaurer les informations de connexion
// pour éviter de re-demander l'autorisation à chaque connexion
bufGoogleConnexion est un Buffer
sNomFichierTokenGoogle est une chaîne = fRepDonnées() + "\tokengoogle.bin"

// On a précédemment mémorisé une connexion ?
SI fFichierExiste(sNomFichierTokenGoogle) ALORS
// On restaure la connexion avec les autorisations qu'elle a
// pour ne pas re-demander à chaque fois les autorisations
QUAND EXCEPTION DANS
Désérialise(googleConnexion, fChargeBuffer(sNomFichierTokenGoogle), psdBinaire)
FAIRE
// Echec de la dé-sérialisation,
// le fichier est peut-être endommagé
// => il y aura une nouvelle demande d'authentification à l'utilisateur
FIN
FIN

// Connexion au compte Google
// ==> Ici la première fois, l'utilisateur devra valider une fenêtre d'authentification
SI PAS GglConnecte(googleConnexion, gglServiceAgenda) ALORS
Erreur(ErreurInfo())
   // Supprime le fichier qui contient le "token" précédent
// (la connexion a échoué : le token est donc invalide)
SI fFichierExiste(sNomFichierTokenGoogle) ALORS fSupprime(sNomFichierTokenGoogle)
// "Vide" la variable gglConnexion
// Note : il faudra donc ré-affecter
// les propriétés ..Email, ..ClientID, et ..ClientSecret
// avant de refaire la connexion
VariableRAZ(googleConnexion)
SINON
// Mémorisation de la connexion Google avec les informations d'autorisation
Sérialise(googleConnexion, bufGoogleConnexion, psdBinaire)
fSauveBuffer(sNomFichierTokenGoogle, bufGoogleConnexion)

// Récupération de l'agenda par défaut
AgendaExistant est un gglAgenda
AgendaExistant = GglRécupèreAgenda(googleConnexion)
SI ErreurDétectée ALORS
Erreur(ErreurInfo())
SINON
Info("Agenda récupéré !")
FIN
FIN
Utilisation de la fonction GglConnecte (jusqu'à la version 19)
Cet exemple utilise le mode d'authentification "ClientLogin" (ne fonctionne plus depuis le mois de novembre 2014 pour les Agenda Google).
// ---------------------------------------------------------
// Code utilisé jusqu'à la version 19 pour les API Google V2
// NE PLUS UTILISER CE TYPE DE CODE
// (changement de comportement des fonctions Google Agenda)
// ---------------------------------------------------------
googleConnexion est un gglConnexion
googleConnexion..Email = gsGoogleCompte
googleConnexion..MotDePasse = gsGoogleMotDePasseCompte
googleConnexion..NomApplication = gsGoogleNomApplication
// Connexion au compte Google
SI PAS GglConnecte(googleConnexion) ALORS
Erreur(ErreurInfo())
SINON
// Récupération de l'agenda par défaut
AgendaExistant est un gglAgenda
AgendaExistant = GglRécupèreAgenda(googleConnexion)
SI ErreurDétectée ALORS
Erreur(ErreurInfo())
SINON
Info("Agenda récupéré !")
FIN
FIN
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