|
|
|
|
|
- Récupérer un événement dans un agenda
- Récupérer un contact
Récupérer un événement dans un agenda Cet exemple permet d'effectuer une requête pour récupérer un événement précis dans un agenda précis. googleConnexion est un gglConnexion googleConnexion.Email = "nomutilisateur@gmail.com" googleConnexion.ClientID = ... "568705434218-sed6r7rgd7alcnbehs67f1k5s6i4q.apps.googleusercontent.com" googleConnexion.ClientSecret = "kshKqXQPxUWmGLDiyBcmrCR2"  // Connexion au compte Google SI PAS GglConnecte(googleConnexion, ... gglServiceAgenda + gglServiceContacts) ALORS Erreur(ErreurInfo()) RETOUR SINON // Connecté // pour faire une requête qui récupère un événement précis dans un agenda précis  // 1 - Il faut donc d'abord un identifiant d'agenda Google sIdAgenda est une chaîne tabAgenda est un tableau de gglAgendas tabAgenda = GglListeAgenda(googleConnexion, gglTous) unAgenda est un gglAgenda POUR TOUT unAgenda DE tabAgenda SI unAgenda.Titre = "Titre de l'Agenda recherché" ALORS sIdAgenda = unAgenda.Identifiant // Valeur du type : gi57430lh5j58ddife6nmbqilk@group.calendar.google.com SORTIR FIN FIN SI sIdAgenda = "" ALORS Info("Agenda non trouvé") RETOUR FIN  // 2 - Il faut ensuite un identifiant d'événement Google sIdEvenement est une chaîne = "5lq85na71prritap8llpoo5cl8_20150107T070000Z" // Cet identifiant doit initialement être récupéré // à l'origine d'une variable de type gglEvénement // (via la propriété Identifiant)  // 3 - Lance la requête Google // Information sur les possibilités des requêtes Google // dans la documentation Google au 01/01/2015 ici : // https://developers.google.com/google-apps/calendar/v3/reference/events // - Il faut faire une requête GET sur : // https://www.googleapis.com/calendar/v3/calendars/<calendarId>/events/<eventId> // - Paramètres (optionnels) : alwaysIncludeEmail, timeZone, maxAttendees, // Nom des champs à inclure sReponseJsonGgl est une chaîne sReponseJsonGgl = GglRequête(googleConnexion, ... gglServiceAgenda,... //Requête au service Agenda "https://www.googleapis.com/calendar/v3/calendars/" + ... URLEncode(sIdAgenda) + "/events/" + URLEncode(sIdEvenement), ... // URL "alwaysIncludeEmail=true&timeZone="+ ... "Europe/Paris&maxAttendees=10", ...//Paramètres (optionnels) gglHTTPGet) //Requête HTTP Get  // Erreur ou réponse non JSON de Google SI ErreurDétectée _OU_ SansEspace(sReponseJsonGgl)[[1]] <>"{" ALORS Erreur("Echec de la récupération de l'événement", ... sReponseJsonGgl, ErreurInfo()) RETOUR FIN  // Récupération automatique dans un variant soit strReponseGoogle =JSONVersVariant(sReponseJsonGgl) // ou récupération dans une structure décrite avant (décrite ici au 01/01/2015 : // https://developers.google.com/google-apps/calendar/v3/reference/events) // strEvenementGoogle est un STgglEvents // Désérialise(strEvenementGoogle,sReponseJsonGgl,psdJSON)  Info("Evénement du " + ChaîneVersDate(strReponseGoogle.start.dateTime[[À 10]], ... "AAAA-MM-JJ") + ChaîneVersHeure(strReponseGoogle.start.dateTime[[12 À 19]],... "HH:MM:SS")+...//format : 2014-11-25T14:00:00+01:00 " au " + ChaîneVersDate(strReponseGoogle.end.dateTime[[À 10]],"AAAA-MM-JJ") + ... ChaîneVersHeure(strReponseGoogle.end.dateTime[[12 À 19]],... "HH:MM:SS"),...//format : 2014-11-25T15:30:00+01:00 "Créé par : " + strReponseGoogle.creator.email, ... "Titre : " + strReponseGoogle.summary, ... "Détails : " + strReponseGoogle.description, ... "Mise à jour : " + strReponseGoogle.updated) FIN
Cet exemple permet d'effectuer une requête pour récupérer un contact avec tous les détails dont l'adresse détaillée. googleConnexion est un gglConnexion googleConnexion.Email = "nomutilisateur@gmail.com" googleConnexion.ClientID = ... "568705434218-sed6r7rgd7alcnbehs67f1k5s6ixqz84q.apps.googleusercontent.com" googleConnexion.ClientSecret = "kshKqXQPxUWmGLDiyBcmrCR2"  // Connexion au compte Google SI PAS GglConnecte(googleConnexion, gglServiceContacts) ALORS Erreur(ErreurInfo()) RETOUR SINON // Connecté // pour faire une requête qui récupère un contact précis dans un compte Google // 1 - Il faut donc d'abord un compte Google sCompteGoogle est une chaîne = googleConnexion.Email //ou "default"  // 2 - Il faut ensuite un identifiant de contact googleContact est un gglContact // GglListeContactParRequête( // Le premier contact taContactGGl est un tableau de gglContacts = GglListeContact(googleConnexion) googleContact = taContactGGl[1] // uniquement la dernière partie de l'identifiant sIdContactGoogle est une chaîne = ExtraitChaîne(googleContact.Identifiant, ... 1, "/", DepuisFin)  //3 - Lance la requête Google // Information sur les possibilités des requêtes Google // dans la documentation Google au 01/01/2015: // https://developers.google.com/google-apps/contacts/v3/index#retrieving_a_single_contact // - Il faut faire une requête POST sur : // https://www.google.com/m8/feeds/contacts/<CompteId>/<full/<ContactID> // - Paramètres (optionnels) : // v=3.0 pour avoir le détails complet, // et alt=json pour avoir le résultat en json et pas en xml sReponseJsonGgl est une chaîne sReponseJsonGgl = GglRequête(googleConnexion, ... gglServiceContacts, ...//Requête au service Agenda "https://www.google.com/m8/feeds/contacts/" + URLEncode(sCompteGoogle) + ... "/full/" + URLEncode(sIdContactGoogle)+"?v=3.0&alt=json", ... //URL "", ... //Paramètres (optionnels) gglHTTPGet) // Requête HTTP Get // Erreur ou réponse non Json de Google ? SI ErreurDétectée _OU_ SansEspace(sReponseJsonGgl)[[1]] <> "{" ALORS Erreur("Echec de la récupération de l'événement", sReponseJsonGgl, ErreurInfo()) RETOUR FIN // Récupération du Json dans une structure // (voir https://developers.google.com/google-apps/contacts/v3/reference) soit strReponseJsonGgl = JSONVersVariant(sReponseJsonGgl)  Info("Civilité : " + strReponseJsonGgl.entry.gd$name.gd$namePrefix.$t, ... "Prénom : " + strReponseJsonGgl.entry.gd$name.gd$givenName.$t, ... "Nom : " + strReponseJsonGgl.entry.gd$name.gd$familyName.$t, ... "Suffixe : " + strReponseJsonGgl.entry.gd$name.gd$nameSuffix, ... "Deuxième prénom : " + strReponseJsonGgl.entry.gd$name.gd$additionalName.$t, ... "Rue : " + strReponseJsonGgl.entry.gd$structuredPostalAddress[1].gd$street.$t, ... "Quartier : " + ... strReponseJsonGgl.entry.gd$structuredPostalAddress[1].gd$neighborhood.$t, ... "Boîte postale : " + strReponseJsonGgl.entry.gd$structuredPostalAddress[1].gd$pobox.$t, ... "Code postal : " + strReponseJsonGgl.entry.gd$structuredPostalAddress[1].gd$postcode.$t, ... "Ville : " + strReponseJsonGgl.entry.gd$structuredPostalAddress[1].gd$city.$t, ... "Région : " + strReponseJsonGgl.entry.gd$structuredPostalAddress[1].gd$region.$t, ... "Pays : " + strReponseJsonGgl.entry.gd$structuredPostalAddress[1].gd$country.$t) FIN
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|