Как получить фотографию профиля пользователя из Google (а не из Google+)?

Используя Google+ API, я могу получить всю информацию о профиле пользователя, и я делаю это, вызывая GET по следующему адресу:

https://www.googleapis.com/plus/v1/people/11812536713708...432
?key=AIzaSyC_bs...gds353le

Здесь я помещаю идентификатор профиля пользователя (идентификатор пользователя Google) и мой ключ API.

Теперь есть два случая:

1) пользователь настроил профиль google+ раньше, а затем я получаю файл json со всеми необходимыми данными (такими как его фотография профиля, имя и т. д.)

2) пользователь ранее не настраивал профиль google+, и тогда я получаю файл json следующим образом:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "notFound",
    "message": "Not Found"
   }
  ],
  "code": 404,
  "message": "Not Found"
 }
}

Поэтому в ситуации, когда у пользователя нет учетной записи Google+, я не могу получить его фотографию. Есть ли способ подчиниться этому и как-то получить данные его профиля не из Google+?

В моем приложении для iOS я использую функцию входа в Google, и они предоставляют возможность получения данных для вошедшего в систему пользователя (вот некоторые подробности https://developers.google.com/identity/sign-in/ios/people#retrieving_user_information ), и когда я использую его и вхожу в свой app с учетной записью, в которой не активирован google+, я все еще могу получить имя этого пользователя, фотографию и т. д. Оно не исходит из google+, в данном случае оно исходит из объекта GIDGoogleUser. Но я могу создать этот объект только тогда, когда пользователь предоставит мне свое имя пользователя и пароль.

Итак, есть ли способ получить эти данные из любого API Google, указав идентификатор пользователя Google и ключ API?


person user3766930    schedule 24.03.2016    source источник


Ответы (2)



Существует API, предоставленный http://www.avatarapi.com/, который возвращает имя пользователя и изображение профиля. на основе общедоступной информации Google.

Его можно вызвать через SOAP или HTTP в этой конечной точке API: http://www.avatarapi.com/avatar.asmx

Одним из преимуществ этого API является то, что он не требует аутентификации пользователя в Google, поэтому это может решить вашу проблему, когда у пользователя нет учетной записи Google+.

person Fiach Reid    schedule 31.07.2016