2013-10-16 9 views
5

Sto riscontrando un semplice problema durante il recupero delle immagini dei contatti dell'utente. Quindi faccio una richiesta aAPI Contatti Google - acquisizione dell'immagine

$url = 'https://www.google.com/m8/feeds/contacts/default/full?alt=json&max-results=9999&oauth_token=' . $accessToken; 

E poi ricevo un enorme JSON da cui ho estratto il nome completo e l'e-mail. Poi ho provato a ottenere l'immagine del contatto e non ho avuto alcun successo.

io ottenere con tutti i contatti, e ognuno ha seguente struttura:

entry [id, updated, category, title, link, gd$email]. 

Nella sezione di collegamento, ho avuto quattro collegamenti, di cui primi due sono una sorta di link ad un contenuto di immagine, ma non riesco a recuperare esso.

Qualsiasi organismo ha avuto successo nel fare questo tipo di lavoro!?

Tnx molto!

BTW: Se mancano alcuni dati del mio caso, si prega di segnalare e lo aggiungerò anche io!

EDIT: ho anche cercato di raggiungere l'immagine con URL

http://profiles.google.com/s2/photos/profile/" + userid + "?sz=" + size; 

ma il problema è che non riesco a userId dai contatti JSON.

+0

https://developers.google.com/google-apps/contacts/v3/#retrieving_a_contacts_photo perché non fa questo lavoro? Non è "id" il contactID di cui hai bisogno? – awaigand

+0

il problema è che non ho un ID di contatto, ho un ID campo nel mio JSON che ha "http://www.google.com/m8/feeds/contacts/adrian.1358%40gmail.com/base/10161fe0e87a941 " – Adrian

+0

anche nella parte di collegamento del JSON, ho un collegamento come" https://www.google.com/m8/feeds/photos/media/adrian.1358%40gmail.com/10161fe0e87a941/1B2M2Y8AsgTpgAmY7PhCfg " – Adrian

risposta

-1

Effettuare nuovamente una richiesta se i tag citati sono disponibili come indicato di seguito.

$add = new Google_HttpRequest("https://www.google.com/m8/feeds/contacts/default/full?alt=json&v=3.0&max-results=500&access_token='.$token->access_token"); 
$add->setRequestMethod("GET"); 
$add->setRequestHeaders(array('GData-Version' => '3.0', 'content-type' => 'application/atom+xml; charset=UTF-8; type=feed')); 

$submit = $client->getIo()->authenticatedRequest($add); 
$sub_response = $submit->getResponseBody(); 

$temp = json_decode($sub_response, true); 

foreach ($temp['feed']['entry'] as $image) { 
    $google_contact_id = $image['link'][2]['href']; 
    if (isset($image['link'][0]['href'])) { 
    $photo = new Google_HttpRequest($image['link'][0]['href']); 
    $photo_val = $client->getIo()->authenticatedRequest($photo); 

    $photo_return = $photo_val->getResponseBody();      
    $imgData = base64_encode($photo_return); 
    $pro_image = 'data:image/jpeg;base64, ' . $imgData . ''; 
    } 
}