Я пытаюсь получить мои фотографии контактов Google, используя ответ 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
но ссылки все еще не работают, так как я не знаю, где найти {code}
нужен для каждого контакта.
Любая помощь? как я могу решить это?
большое спасибо
На основании упомянутого выше связанного вопроса (вернуть гугл контакты api v3 фото?), возможно, иметь дело с ответом 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' />";
}
}
Других решений пока нет …