Как получить «контакт» пользователя с помощью API Google с помощью переполнения стека

Я пытаюсь получить пользовательские контакты со всеми пользовательскими данными с помощью Google API 3.0.
Я могу получить ответ JSON с подробностями пользователя.

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

Результат

   [entry] => Array
(
[0] => Array
(
[id] => Array
(
[$t] => http://www.google.com/m8/feeds/contacts/sfdhitdf1%40gmail.com/base/1
)

[gd$etag] => "RXc7fTVSLit7I2A9XRZaEkoLRAw."[updated] => Array
(
[$t] => 2014-08-29T00:16:24.905Z
)

[app$edited] => Array
(
[xmlns$app] => http://www.w3.org/2007/app
[$t] => 2014-08-29T00:16:24.905Z
)

[category] => Array
(
[0] => Array
(
[scheme] => http://schemas.google.com/g/2005#kind
[term] => http://schemas.google.com/contact/2008#contact
)

)

[title] => Array
(
[$t] => abc
)

[link] => Array
(
[0] => Array
(
[rel] => http://schemas.google.com/contacts/2008/rel#photo
[type] => image
[href] => https://www.google.com/m8/feeds/photos/media/sachdfwdfd%40gmail.com/1?v=3.0
[gd$etag] => "VWVIH3oyWit7I2B0UBRURzwNBWM8ODs8cSk.")

[1] => Array
(
[rel] => self
[type] => application/atom+xml
[href] => https://www.google.com/m8/feeds/contacts/sachitdff%40gmail.com/full/1?v=3.0
)

[2] => Array
(
[rel] => edit
[type] => application/atom+xml
[href] => https://www.google.com/m8/feeds/contacts/sachidtfd%40gmail.com/full/1?v=3.0
)

)

[gd$name] => Array
(
[gd$fullName] => Array
(
[$t] => abc xyz
)

[gd$givenName] => Array
(
[$t] => abc
)

[gd$familyName] => Array
(
[$t] => xyz
)

)

[gd$email] => Array
(
[0] => Array
(
[address] => abi9@gmail.com
[primary] => true
[rel] => http://schemas.google.com/g/2005#other
)

)

[gContact$website] => Array
(
[0] => Array
(
[href] => http://www.google.com/profiles/104048264070958665151
[rel] => profile
)

)

[gContact$groupMembershipInfo] => Array
(
[0] => Array
(
[deleted] => false
[href] => http://www.google.com/m8/feeds/groups/sachitaware

)

)

Но здесь я не понимаю изображение контакта пользователя. документация говорит, что мне нужно контактный идентификатор для получения фотографии, но я не могу получить контактный идентификатор в ответе выше. Как я могу получить контактный идентификатор пользователя и впоследствии его контактную фотографию?

Я авторизовал приложение, используя oauth 2.0, и кроме изображения я получаю большинство деталей контакта.

РЕДАКТИРОВАТЬ: Я старался этот путь из документации, и он работает, но он возвращает двоичное изображение вместо URL изображения и я должен отправить еще один запрос, чтобы получить изображение.

 $url1   ='https://www.google.com/m8/feeds/photos/media/{useremail}/13444?       v=3.0&oauth_token='.$accesstoken;
$xmlresponse1 =  curl($url1);

Чтобы отобразить изображение:

 <img src="data:image/*;base64,<?php echo base64_encode($xmlresponse1); ?> />

Разве я не могу получить URL-адрес изображения контакта, похожий на результат возврата из Facebook?

1

Решение

Согласно документации, contactIid возвращается в URL записи контакта, возвращенной API:

http://www.google.com/m8/feeds/contacts/<userEmail>/base/<contactId>

Итак, давая ваш образец:

http://www.google.com/m8/feeds/contacts/sfdhitdf1%40gmail.com/base/1

У нас есть эти значения:

userEmail: sfdhitdf1@gmail.com
contactId: 1
2

Другие решения

Других решений пока нет …