|
- Cas d'erreurs possibles :
- Pré-requis pour l'authentification OAuth 2.0
- Authentification OAuth 2.0
- Persistance de la connexion
GglConnecte (Fonction) En anglais : GglConnect Permet de s'authentifier auprès d'un serveur Google (via le mode d'authentification "OAuth 2.0"). 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.
// 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
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
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) : | | gglServiceAgenda | Service "Agenda Google Calendar" : Agenda Google | gglServiceContacts | Service "Google Contacts" : Gestion des contacts Google | gglServiceDocuments | Service "Google Documents List" : Gestion des documents | gglServicePicasa | Service "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) : | | gglServiceAgenda | Service "Agenda Google Calendar" : Agenda Google | gglServiceContacts | Service "Google Contacts" : Gestion des contacts Google | gglServiceDocuments | Service "Google Documents List" : Gestion des documents | gglServicePicasa | Service "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) : | | gglServiceAgenda | Service "Agenda Google Calendar" : Agenda Google | gglServiceContacts | Service "Google Contacts" : Gestion des contacts Google | gglServiceDocuments | Service "Google Documents List" : Gestion des documents | gglServicePicasa | Service "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érieuresPré-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 : - Cliquez sur "Créer un projet". Donnez le nom de votre projet. Un identifiant est automatiquement proposé pour votre projet.
- Validez
- Le projet est créé.
- Dans le menu de gauche, cliquez sur "API et authentification" puis sur "API".
- 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.
- Dans le menu de gauche, cliquez sur "Identifiants".
- 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.
Pour les applications WINDEV et WINDEV Mobile, sélectionnez "Application installée" puis "Autre".
- 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.
URI de redirection. Vérifiez que "http://localhost" est précisé.
Nouveauté 20Pré-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 : - Cliquez sur "Créer un projet". Donnez le nom de votre projet. Un identifiant est automatiquement proposé pour votre projet.
- Validez
- Le projet est créé.
- Dans le menu de gauche, cliquez sur "API et authentification" puis sur "API".
- 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.
- Dans le menu de gauche, cliquez sur "Identifiants".
- 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.
Pour les applications WINDEV et WINDEV Mobile, sélectionnez "Application installée" puis "Autre".
- 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.
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 : - Cliquez sur "Créer un projet". Donnez le nom de votre projet. Un identifiant est automatiquement proposé pour votre projet.
- Validez
- Le projet est créé.
- Dans le menu de gauche, cliquez sur "API et authentification" puis sur "API".
- 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.
- Dans le menu de gauche, cliquez sur "Identifiants".
- 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.
Pour les applications WINDEV et WINDEV Mobile, sélectionnez "Application installée" puis "Autre".
- 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.
URI de redirection. Vérifiez que "http://localhost" est précisé.
Versions 20 et supérieuresAuthentification OAuth 2.0 L'appel à la fonction GglConnecte provoque : - 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.
- 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).
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).
Nouveauté 20Authentification OAuth 2.0 L'appel à la fonction GglConnecte provoque : - 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.
- 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).
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).
Authentification OAuth 2.0 L'appel à la fonction GglConnecte provoque : - 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.
- 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).
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).
Versions 20 et supérieuresPersistance 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é 20Persistance 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. Composante : wd260ggl.dll
Documentation également disponible pour…
|
|
|
| |
| | En production la connexion Google nécessite aussi WD200ole.DLL sinon vous aurez la fenêtre d'authentification Google qui apparaîtra vide. |
|
|
|
| |
| |
| |
| |
| |
| |
| | |
| |