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] Google GData API


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2007
    Messages : 41
    Points : 18
    Points
    18
    Par défaut [Web Service] Google GData API
    Bonjour à tous,
    je désire intégrer l'API google calendar sur mon site web (PHP).
    L'idée est de ne pas utiliser le Zend framework,mon serveur est en php 4.

    Il existe de la documentation sur le site de google dont voici le lien.
    http://code.google.com/apis/calendar/code.html

    J'aurais seulement besoin d'un avis; concernant la possibilité d'exploiter google calendar. Mon idée est d'utiliser soit le JavaScript soit cURL pour l'implémenter dans mon site.
    Qu'en pensez-vous?

    Merci

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2007
    Messages : 41
    Points : 18
    Points
    18
    Par défaut Suite du problème
    Suite, la contrainte principale est de ne pas utiliser Zend Framwork, car le serveur Apache tourne avec PHP 4.0. Et la mise à jour du serveur n'est pas prévue pour le moment.
    L'API que j'aimerais utiliser est le google calendar; depuis un site web existant.
    Voici le code:
    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
    <?php
    $email="votremail";
    $pass="votrepass";
     //requête HTTP fonctionnel réponse HTTP 200
    function googleHTTP($email,$pass){
       $url="https://www.google.com/accounts/ClientLogin";
       $ch=curl_init();
       $dataPOST=array(
       "accountType"=>"HOSTED_OR_GOOGLE",
       "Email"=>$email,
       "Passwd"=>$pass,
       "service"=>"cl",
       "source"=>"develop-test-6.789");
     
       //option des en-tête HTTP
       curl_setopt($ch, CURLOPT_URL, $url);
       curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_0);
       curl_setopt($ch,CURLOPT_CRLF,false);
       curl_setopt ($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
       curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
       curl_setopt($ch,CURLOPT_HEADER,true);
       curl_setopt($ch,CURLOPT_POST,true);
       curl_setopt($ch, CURLOPT_POSTFIELDS, $dataPOST);
       //reponse requête HTTP
       $ret=curl_exec($ch);
       //var_dump($ret);
       //curl_getinfo donne des information concernant l'exécution de la requête
      // var_dump(curl_getinfo($ch));
       curl_close($ch);
       return $ret;
     }
     //requête d'authentification HTTP sur le compte google
     function googleAuth($token){
         $url="https://www.google.com/accounts/ClientLogin";
        $header[]="Authorization: GoogleLogin auth=". $token;
         $ch=curl_init($url);
        curl_setopt($ch, CURLOPT_URL,$url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); 
        curl_setopt($ch, CURLOPT_MUTE, true);
         curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//
        
         $ret=curl_exec($ch);
         curl_close($ch);
        // var_dump($ret);
        return $ret;
     }
    
    
    //retourne un tableau avec les ids HTTP
    function getIDtab($email,$pass){
        $tmpid=explode("\n",googleHTTP($email,$pass));
         $fin=count($tmpid)-1;
         for($i=0;$i<$fin;$i++){
            $t=explode("=",$tmpid[$i]);
            $tmp[((string)$t[0])]=$t[1];
         }
         return $tmp;
    }
    //retourne l'identifiant souhaité Auth,SID,LSID
    function getIDuser($tbl,$string){
        foreach($tbl as $k=>$v){
            if($k==$string)
                return $v;
        }
    }
    //récupérer l'identifiant souhaité
    $token=getIDuser(getIDtab($email,$pass),"Auth");
    
    echo googleAUTH(getIDuser($token, "Auth"));
    ?>
    Le problème se produit lorsque je souhaite me connecter avec mon compte google en utilisant l'identifiant de session.
    Documentation Google:
    Authentification for web API
    Using cURL to interact with google data services

    Pourriez-vous m'apporter vos lumière ou essayé de debugger

Discussions similaires

  1. Web service REST et API PHP
    Par Heartlessmdh dans le forum Services Web
    Réponses: 3
    Dernier message: 29/03/2015, 14h59
  2. [Web Service][Google Maps] Quelles possibilités ?
    Par dolu02 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 15/06/2010, 11h52
  3. [Web Service][Google Calendar API] Requetes http get
    Par alexandreb3 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 06/05/2010, 15h50
  4. Réponses: 1
    Dernier message: 15/03/2010, 04h40
  5. [Web Service][SOAP] PHP & API Google
    Par hamed dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 02/08/2007, 12h07

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