2015-03-08 52 views
0

我試圖使用JSON響應來檢索我的Google聯繫人照片。我想出瞭如何進行身份驗證以及如何檢索我需要的信息。Google contacts API嘗試從json響應中檢索聯繫人照片時出現中斷鏈接

現在,我試圖以顯示聯繫人的照片,以及,我知道照片是位於該位JSON響應的:現在

[link] => Array 
    (
    [0] => Array 
     (
      [rel] => http://schemas.google.com/contacts/2008/rel#photo 
      [type] => image/* 
      [href] => https://www.google.com/m8/feeds/photos/media/mymail%40gmail.com/{code} 
      [gd$etag] => "{code}" 
     ) 
    ) 

,如果我贊同在href和然後添加access_token,鏈接看起來像這樣 - >

https://www.google.com/m8/feeds/photos/media/{{my-email-address}}/7473ab09b97a34?v=3.0?access_token={{my-access-token}} 

而這會導致鏈接斷開。 我注意到,如果我刪除?ver=3,鏈接實際上起作用。 問題是:?ver = 3來自json響應,所以我不知道如何刪除它。

現在,我試圖將鏈接設置爲一個變量,刪除?ver=3,bur鏈接仍然被打破,因爲我不知道在哪裏可以找到每個聯繫人需要的{code}

任何幫助?我該如何解決這個問題?

非常感謝

+0

你有關於這個問題的檢查? http://stackoverflow.com/questions/21259748/return-google-contacts-api-v3-photo。 – Rivero 2015-03-09 22:05:20

+0

您可以通過將響應編碼爲base64編碼來顯示圖像,從而基於url創建圖像。 – Rivero 2015-03-09 22:06:32

+0

@Rivero你介意給我舉個例子嗎?還是一些參考?謝謝 – Nick 2015-03-10 13:49:14

回答

1

基於之前(return google contacts api v3 photo?)中提到的相關問題,也許對付這樣的JSON響應:

foreach($output_array as $key=>$value){ 
    if (isset($value['email'], $value['title'])) { 
     echo $value['email'].'<br/>'; 
     echo $value['title'].'<br/>'; 
     $photo = new Google_HttpRequest($value['hrefs'][0][0]); 
     $photo_val = $client->getIo()->authenticatedRequest($photo); 
     $photo_return = $photo_val->getResponseBody(); 
     $imgData = base64_encode($photo_return); 
     echo "<img src= 'data:image/jpeg;base64, $imgData' />"; 
    } 
} 
相關問題