IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[Web Service] Récupérer une liste de contact Gmail, Hotmail, etc


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 278
    Points : 284
    Points
    284
    Par défaut [Web Service] Récupérer une liste de contact Gmail, Hotmail, etc
    Bonjour je développe actuellement sous Zend Framework un script qui permettra de récupéré une liste de contact de type gMail, Hotmail, etc... Cependant je ne trouve que peu de piste sur internet (mon anglais moyen ne m'aide pas beaucoup non plus il faut l'avouer) concernant les API ou les moyen de récupérer ces listes de contact (surtout pour gMail pour le moment la suite on verra plus tard). Je serais très reconnaissant à tous ceux qui pourrait m'apporter des pistes (ou une aide dans le cas ou quelqu'un aurait déjà développer un outil semblable).

    Merci d'avance à tous!

  2. #2
    Inscrit
    Avatar de Caerbannog
    Inscrit en
    Novembre 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 206
    Points : 273
    Points
    273
    Par défaut
    Pour gmail la documentation en anglais est là : http://code.google.com/apis/contacts...ers_guide.html
    (c'est assez récent)

    Ils n'ont codé aucune librairie pour php donc il faut se baser sur le protocole :
    http://code.google.com/apis/contacts..._without_query
    ce n'est pas très simple, il faut d'abord s'authentifier :
    http://code.google.com/apis/contacts...l#client_login

    (en définissant le header Authorization donc un simple file_get_contents ne marchera pas)

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 278
    Points : 284
    Points
    284
    Par défaut
    Merci beaucoup, je vais continuer avec ça

  4. #4
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut
    Bonjour,
    moi aussi je voulais faire un script comme ça pour mon site avec zend framework surout pour hotmail mais je n'y suis pas arrivé par ce qu'en fait c'est pas vraiment claire la doc.
    Si tu trouve une solution s'il te plait fais nous signe .

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 278
    Points : 284
    Points
    284
    Par défaut
    Oui je vous tien au courant car j'ai vu bcp de demande de gens cherchant ce genre de script mais très peu de personne qui ont réussi!

    Pour le moment je cherche juste à récupérer les liste Gmail, mais au final on application doit pouvoir récupérer gmail, hotmail, yahoo, facebook, etc...

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 278
    Points : 284
    Points
    284
    Par défaut
    Pour ceux que ça intéresse, c'est bon je recup enfin la liste des contacts gmail en utilisant l'api officiel et pas un truc foireux comme on peu en voir bcp sur le net.
    Maintenant j'essaie de recup les photos associé au contact, puis je passe à MSN!

  7. #7
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut
    Bonjour,
    Bravo ! je vous félicite d'y avoir réussi est ce que vous pouvez le mettre en téléchargement ce serait gentil de votre part

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 278
    Points : 284
    Points
    284
    Par défaut
    J'ai bientot fini la recupération des contacts yahoo, pour gmail c'est fini sauf pour la recupération des photos des contacts que je souhaite améliorer, mais dans tous les cas le script complet sera disponible rapidement

  9. #9
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut
    ce serait super, je l'attend avec impatience. de ma part je cherchais à importer les emails de hotmail puisque c'est la boite la plus utilisé et c'est pas très claire en php. par contre je crois qu'il y a une classe en .NEt qui permet de faire ça en toute simplicité, en fin c'est ce que j'ai lu.

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    ShadyPierre?
    Tu as la réponse?
    Je suis aussi fortement intéressé...

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 278
    Points : 284
    Points
    284
    Par défaut
    Réponse pour?
    Sinon mon script fonctionne pour Gmail et Yahoo mais pour le reste j'ai pas vraiment cherché!
    Pour Aol l'api n'est pas dispo et pour Live j'ai 50% du taf de fait mais pas retoucher depuis quelques temps.

  12. #12
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    Salut,

    je dépoussière le post . J'aimerai savoir si tu as le script qui permet de récupérer les contacts de Gmail

    Merci d'avance pour la réponse

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 278
    Points : 284
    Points
    284
    Par défaut
    Oui pour Gmail ça fonctionne à merveille

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    <?php
    /**
     * Description of My_ContactsGetter_Modules_Gmail
     *
     * @author ShAdY
     * @category   My
     * @package    My_ContactsGetter
     * @subpackage Services
     * @copyright  Copyright (c) 2010 ShAdY! Contacts
     */
    class My_ContactsGetter_Services_Gmail implements My_ContactsGetter_Services_ServicesInterface
    {
     
        /*************************************************************************************
         * Recuperation de la liste de contact
         * @param $login String Le login de connexion au compte
         * @param $password String Le password de connexion au compte
         * @return Array Liste de contacts
         **/
        public function getAllContacts($login, $password)
        {
            try {
                $client = Zend_Gdata_ClientLogin::getHttpClient($login, $password, 'cp');
                $response = $client->getLastResponse()->getStatus();
                // Si la requete aboutie ($response == 200)
                if ($response == 200) {
                    // Enregistre le Token fourni par google lors de la connexion
                    $token = $client->getClientLoginToken();
                    $gdata = new Zend_Gdata($client);
                    $query = new Zend_Gdata_Query("http://www.google.com/m8/feeds/contacts/$login/full");
                    $feed = $gdata->getFeed($query);
                    $entries = $gdata->retrieveAllEntriesForFeed($feed);
                    $contacts = array();
                    // Boucle pour enregistrer chaque contact obtenu dans un objet Contact
                    foreach ($entries as $entry) {
                        $name = $entry->title->text;
                        $email = null;
                        /**
                        * Récupère l'adresse mail
                        **/
                        $extensions = $entry->getExtensionElements();
                        foreach ($extensions as $extension) {
                            if ($extension->rootElement == 'email') {
                                $attributes = $extension->getExtensionAttributes();
                                $email = $attributes['address']['value'];
                                // Si le nom n'est pas défini on enregistre l'adresse à la place
                                if (empty ($name)){
                                    $name = $email;
                                }
                            }
                        }
                        /**
                        * Récupère les infos utile pour avatarController
                        **/
                        $links = $entry->getLink();
                        foreach ($links as $link) {
                            if ($link->rel == 'http://schemas.google.com/contacts/2008/rel#photo') {
                                //Adresse Google de l'avatar du contact en cours
                                $avatarUrlGmail = $link->href;
                                $avatarUrlGmailEncode = urlencode($avatarUrlGmail);
                                $avatarTypeService = 'gmail';
                                //Stock le chemin vers l'avatar
                                $avatarUri = "/avatar/index/type/$avatarTypeService/url/$avatarUrlGmailEncode/token/$token";
                            }
                        }
                        //Si l'adresse mail est défini
                        if ($email) {
                            //Crée/Ajoute un objet Contact dans le tableau d'objet $contacts
                            $contacts[] = new My_ContactsGetter_Model_Contact($name, $email, $avatarUri);
                        }
                    }
                    return $contacts;
                }
            } catch(Zend_Gdata_App_AuthException $authEx) {
                die($authEx->getMessage());
            }
        }
    As utiliser avec Zend Framework! Et il faut créer une classe Avatar et une classe Contact (tout ce qui concerne les avatars peut être supprimer si tu souhaite seulement récupérer les adresses mails.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Apex Class:Récupérer une liste de Contacts
    Par syntaxis dans le forum Salesforce.com
    Réponses: 2
    Dernier message: 12/12/2012, 15h32
  2. Récupérer une liste de contacts à partir d'un bouton
    Par paul1991 dans le forum Composants graphiques
    Réponses: 3
    Dernier message: 19/11/2012, 13h27
  3. WEB SERVICE récupérer des listes d'objets
    Par kevdep dans le forum 4D
    Réponses: 3
    Dernier message: 13/07/2011, 11h19
  4. Réponses: 0
    Dernier message: 30/03/2011, 09h49
  5. Réponses: 1
    Dernier message: 04/11/2010, 11h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo