Google 联系人 API 尝试从 json 响应中检索联系人照片时损坏 link
Google contacts API Broken link when trying to retrieve contacts photo from json response
我正在尝试使用 JSON 响应检索我的 Google 联系人照片。我想出了如何进行身份验证以及如何检索我需要的信息。
现在,我也在尝试显示联系人照片,我知道照片位于 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,link 看起来像这样 ->
https://www.google.com/m8/feeds/photos/media/{{my-email-address}}/7473ab09b97a34?v=3.0?access_token={{my-access-token}}
这会导致损坏 link。
我注意到,如果我删除 ?ver=3
,link 确实有效。
问题是:?ver=3 来自 json 响应,所以我不知道如何删除它。
现在,我尝试将 link 设置为变量,以删除 ?ver=3
,但 links 仍然损坏,因为我不知道在哪里找到每个联系人所需的 {code}
。
有什么帮助吗?我该如何解决这个问题?
非常感谢
根据前面提到的相关问题(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' />";
}
}
我正在尝试使用 JSON 响应检索我的 Google 联系人照片。我想出了如何进行身份验证以及如何检索我需要的信息。
现在,我也在尝试显示联系人照片,我知道照片位于 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,link 看起来像这样 ->
https://www.google.com/m8/feeds/photos/media/{{my-email-address}}/7473ab09b97a34?v=3.0?access_token={{my-access-token}}
这会导致损坏 link。
我注意到,如果我删除 ?ver=3
,link 确实有效。
问题是:?ver=3 来自 json 响应,所以我不知道如何删除它。
现在,我尝试将 link 设置为变量,以删除 ?ver=3
,但 links 仍然损坏,因为我不知道在哪里找到每个联系人所需的 {code}
。
有什么帮助吗?我该如何解决这个问题?
非常感谢
根据前面提到的相关问题(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' />";
}
}