API фотографий пользователей Google - получить общедоступную фотографию пользователя без аутентификации - PullRequest
0 голосов
/ 14 января 2019

До сих пор мы использовали API Google Plus для получения общедоступной фотографии пользователя. Все, что нам было нужно, - это идентификатор пользователя для получения фотографии (, как описано здесь ).

Теперь, когда это и API-интерфейсы Picasa устарели, единственная альтернатива, которую я нашел, - это использование API Users.photos (, как описано здесь ).

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

1 Ответ

0 голосов
/ 14 января 2019

Вы можете использовать people.get метод Google People API , чтобы получить необходимую информацию только с помощью идентификатора пользователя. Хотя вы можете получать открытую информацию без токена пользователя, вам понадобится ключ API. Вы также не сможете получить информацию, если она не является общедоступной.

Вам необходимо запросить, какие именно поля вам нужны. Поля «имена» и «фотографии», вероятно, будут наиболее важными для вас, но есть и другие доступные. Вы получите массив возможных значений, каждое из которых указывает их источник. Вам, вероятно, понадобится тип источника «ПРОФИЛЬ», но вы, безусловно, можете оценить другие.

Так что если вы оформили запрос с

GET https://people.googleapis.com/v1/people/101852559274654726533?personFields=names%2Cphotos&key={YOUR_API_KEY}

Вы будете запрашивать мой общедоступный профиль. Вы получите ответ что-то вроде

{
 "resourceName": "people/101852559274654726533",
 "etag": "%EgYBAj0DNy4aDAECAwQFBgcICQoLDA==",
 "names": [
  {
   "metadata": {
    "primary": true,
    "verified": true,
    "source": {
     "type": "PROFILE",
     "id": "101852559274654726533"
    }
   },
   "displayName": "Allen “Prisoner” Firstenberg",
   "familyName": "Firstenberg",
   "givenName": "Allen",
   "displayNameLastFirst": "Firstenberg, Allen"
  }
 ],
 "photos": [
  {
   "metadata": {
    "primary": true,
    "source": {
     "type": "PROFILE",
     "id": "101852559274654726533"
    }
   },
   "url": "https://lh5.googleusercontent.com/-RDndFau_En4/AAAAAAAAAAI/AAAAAAAB8CY/sTL9kJMmIgk/s100/photo.jpg"
  }
 ]
}
...