Typhon Messages : 2
|
Bonjour à tous, Je viens vers vous car j'ai un problème au niveau d'un script. Je m'explique, je suis entrain de développer un module en php/zendframework pour pouvoir exporter les contacts d'une base de données vers un compte gmail. J'ai réussi a récupérer les contacts gmail, créer des contacts dans gmail mais je suis bloqué sur la création de groupe. Pourtant je l'impression de suivre le protocole de google. donc voici le protocole google pour la création d'un groupe: et voici donc ma fonction qui devrait me permettre de créer un groupe mais qui ne marchepas . Clique pour afficher la zone invisible Fermer ce cadre <?php $gdata = new Zend_Gdata($client); $gdata->setMajorProtocolVersion(3);
// Ajout un nouvel utilisateur $doc = new DOMDocument(); $doc->formatOutput = true; $entry = $doc->createElement('atom:entry'); $entry->setAttributeNS('http://www.w3.org/2000/xmlns/' , 'xmlns:atom', 'http://www.w3.org/2005/Atom'); $entry->setAttributeNS('http://www.w3.org/2000/xmlns/' , 'xmlns:gd', 'http://schemas.google.com/g/2005'); $doc->appendChild($entry); $org = $doc->createElement('atom:category'); $org->setAttribute('scheme', 'http://schemas.google.com/g/2005#kind'); $org->setAttribute('term', 'http://schemas.google.com/contact/2008#group'); $entry->appendChild($org); $org = $doc->createElement('atom:title'); $org->setAttribute('type', 'text'); $org->setAttribute('value', 'Salsa group'); $entry->appendChild($org); $orgex = $doc->createElement('gd:extendedProperty'); $orgex->setAttribute('name', 'more info about the group'); $org->appendChild($orgex); $info = $doc->createElement('info'); $info->setAttribute('value', 'Nice people.'); $orgex->appendChild($info); // insert entry $entryResult = $gdata->insertEntry($doc->saveXML(),'https://www.google.com/m8/feeds/groups/adresse%40gmail.com/full'); echo $entryResult->id."<br/>";
?> Au niveau de insert entry il n'y a aucun retour de google. Si quelqu'un parmis vous aurait une petite idée du problème Petite exemple de fonction pour l'ajout de contact qui lui marche: Clique pour afficher la zone invisible Fermer ce cadre <?php function InsertContact($client, $objet) { $gdata = new Zend_Gdata($client); $gdata->setMajorProtocolVersion(3); // Ajout un nouvel utilisateur $doc = new DOMDocument(); $doc->formatOutput = true; $entry = $doc->createElement('atom:entry'); $entry->setAttributeNS('http://www.w3.org/2000/xmlns/' , 'xmlns:atom', 'http://www.w3.org/2005/Atom'); $entry->setAttributeNS('http://www.w3.org/2000/xmlns/' , 'xmlns:gd', 'http://schemas.google.com/g/2005'); $entry->setAttributeNS('http://www.w3.org/2000/xmlns/' , 'xmlns:gContact', 'http://schemas.google.com/contact/2008'); $doc->appendChild($entry); // add name element $name = $doc->createElement('gd:name'); $entry->appendChild($name); $fn = $objet->getCivilite()." ".$objet->getPrenom()." ".$objet->getNom(); $fullName = $doc->createElement('gd:fullName', $fn); $objet->getCivilite()!=NULL?$prefix = $doc->createElement('gd:namePrefix', $objet->getCivilite()):$prefix = $doc->createElement('gd:namePrefix', " "); $objet->getPrenom()!=NULL?$givenName = $doc->createElement('gd:givenName', $objet->getPrenom()):$givenName = $doc->createElement('gd:givenName', " "); $objet->getNom()!=NULL?$familyName = $doc->createElement('gd:familyName', $objet->getNom()):$familyName = $doc->createElement('gd:familyName', " "); $name->appendChild($fullName); $name->appendChild($prefix); $name->appendChild($givenName); $name->appendChild($familyName); // add email element $email = $doc->createElement('gd:email'); $objet->getEmail()!=NULL?$email->setAttribute('address' ,$objet->getEmail()):$email->setAttribute('address' ," "); $email->setAttribute('rel' ,'http://schemas.google.com/g/2005#work'); $entry->appendChild($email); // add org name element $org = $doc->createElement('gd:organization'); $org->setAttribute('rel' ,'http://schemas.google.com/g/2005#other'); $entry->appendChild($org); $objet->getTiersID()!=NULL?$orgName = $doc->createElement('gd:orgName', $objet->getTiersID()):$orgName = $doc->createElement('gd:orgName', " "); $objet->getFonctionLibelle()!=NULL?$orgTitle = $doc->createElement('gd:orgTitle', $objet->getFonctionLibelle()):$orgTitle = $doc->createElement('gd:orgTitle', " "); $org->appendChild($orgName); $org->appendChild($orgTitle); //add org structuredPostalAddress $org = $doc->createElement('gd:structuredPostalAddress'); $org->setAttribute('rel' ,'http://schemas.google.com/g/2005#work'); $entry->appendChild($org); if (($objet->getSite() != NULL) && ($objet->getSite() != 0)) { //adresse du site $adr=" "; $adr .= $objet->getSiteAdresse()!=NULL&&$objet->getSiteAdresse()!=" "?$objet->getSiteAdresse():false; $objet->getSiteAdresseComplementaire()!=NULL&&$objet->getSiteAdresseComplementaire()!=" "?$adr!=NULL?$adr.=" ".$objet->getSiteAdresseComplementaire():$adr.=$objet->getSiteAdresseComplementaire():false; $objet->getSiteAdresseComplementaireSuite()!=NULL&&$objet->getSiteAdresseComplementaireSuite()!=" "?$adr!=NULL?$adr.=" ".$objet->getSiteAdresseComplementaireSuite():$adr.=$objet->getSiteAdresseComplementaireSuite():false; $objet->getSiteCodePostal()!=NULL&&$objet->getSiteCodePostal()!=" "?$adr!=NULL?$adr.=" ".$objet->getSiteCodePostal():$adr.=$objet->getSiteCodePostal():false; $objet->getSiteVille()!=NULL&&$objet->getSiteVille()!=" "?$adr!=NULL?$adr.=" ".$objet->getSiteVille():$adr.=$objet->getSiteVille():false; $objet->getSitePays()!=NULL&&$objet->getSitePays()!=" "?$adr!=NULL?$adr.=" ".$objet->getSitePays():$adr.=$objet->getSitePays():false; $orgformatAddress = $doc->createElement('gd:formattedAddress', $adr); $objet->getSiteAdresse()!=NULL?$orgstreet = $doc->createElement('gd:street', $objet->getSiteAdresse()):$orgstreet = $doc->createElement('gd:street', " "); $objet->getSiteAdresseComplementaire()!=NULL?$orgneighborhood = $doc->createElement('gd:neighborhood', $objet->getSiteAdresseComplementaire()):$orgneighborhood = $doc->createElement('gd:neighborhood'," "); $objet->getSiteAdresseComplementaireSuite()!=NULL?$orgpobox = $doc->createElement('gdobox', $objet->getSiteAdresseComplementaireSuite()):$orgpobox = $doc->createElement('gdobox', " "); $objet->getSiteCodePostal()!=NULL?$orgpostcode = $doc->createElement('gdostcode', $objet->getSiteCodePostal()):$orgpostcode = $doc->createElement('gdostcode', " "); $objet->getSiteVille()!=NULL?$orgcity = $doc->createElement('gd:city', $objet->getSiteVille()):$orgcity = $doc->createElement('gd:city', " "); $objet->getSitePays()!=NULL?$orgcountry = $doc->createElement('gd:country', $objet->getSitePays()):$orgcountry = $doc->createElement('gd:country', " "); } else { //adresse perso $adr=" "; $adr .= $objet->getAdresse()!=NULL&&$objet->getAdresse()!=" "?$objet->getAdresse():false; $objet->getAdresseComplementaire()!=NULL&&$objet->getAdresseComplementaire()!=" "?$adr!=NULL?$adr.=" ".$objet->getAdresseComplementaire():$adr.=$objet->getAdresseComplementaire():false; $objet->getAdresseComplementaireSuite()!=NULL&&$objet->getAdresseComplementaireSuite()!=" "?$adr!=NULL?$adr.=" ".$objet->getAdresseComplementaireSuite():$adr.=$objet->getAdresseComplementaireSuite():false; $objet->getCodePostal()!=NULL&&$objet->getCodePostal()!=" "?$adr!=NULL?$adr.=" ".$objet->getCodePostal():$adr.=$objet->getCodePostal():false; $objet->getVille()!=NULL&&$objet->getVille()!=" "?$adr!=NULL?$adr.=" ".$objet->getVille():$adr.=$objet->getVille():false; $objet->getPays()!=NULL&&$objet->getPays()!=" "?$adr!=NULL?$adr.=" ".$objet->getPays():$adr.=$objet->getPays():false; $orgformatAddress = $doc->createElement('gd:formattedAddress', $adr); $objet->getAdresse()!=NULL?$orgstreet = $doc->createElement('gd:street', $objet->getAdresse()):$orgstreet = $doc->createElement('gd:street', " "); $objet->getAdresseComplementaire()!=NULL?$orgneighborhood = $doc->createElement('gd:neighborhood', $objet->getAdresseComplementaire()):$orgneighborhood = $doc->createElement('gd:neighborhood'," "); $objet->getAdresseComplementaireSuite()!=NULL?$orgpobox = $doc->createElement('gdobox', $objet->getAdresseComplementaireSuite()):$orgpobox = $doc->createElement('gdobox', " "); $objet->getCodePostal()!=NULL?$orgpostcode = $doc->createElement('gdostcode', $objet->getCodePostal()):$orgpostcode = $doc->createElement('gdostcode', " "); $objet->getVille()!=NULL?$orgcity = $doc->createElement('gd:city', $objet->getVille()):$orgcity = $doc->createElement('gd:city', " "); $objet->getPays()!=NULL?$orgcountry = $doc->createElement('gd:country', $objet->getPays()):$orgcountry = $doc->createElement('gd:country', " "); } $org->appendChild($orgformatAddress); $org->appendChild($orgneighborhood); $org->appendChild($orgpobox); $org->appendChild($orgpostcode); $org->appendChild($orgcity); $org->appendChild($orgcountry); //add org extended property $org = $doc->createElement('gd:extendedProperty'); $org->setAttribute('name' ,'id_antidote'); $org->setAttribute('value' ,$objet->getID()); $entry->appendChild($org); //Ajout dans un groupe /* $org = $doc->createElement('gContact:groupMembershipInfo'); $org->setAttribute('deleted' ,'false'); $org->setAttribute('href' ,'http://www.google.com/m8/feeds/groups/adresse%40gmail.com/base/145255'); $entry->appendChild($org);*/ // insert entry $entryResult = $gdata->insertEntry($doc->saveXML(),'http://www.google.com/m8/feeds/contacts/default/full'); //echo $entryResult->id."<br/>"; } ?>
|