Области авторизации

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

Каждый запрос, который ваше приложение отправляет в API библиотеки Google Фото, должен включать токен авторизации. Токен также идентифицирует ваше приложение для Google.

О протоколах авторизации

Ваше приложение должно использовать OAuth 2.0 для авторизации запросов. Другие протоколы авторизации не поддерживаются. Если ваше приложение использует «Войти через Google» , некоторые аспекты авторизации выполняются за вас.

Авторизация запросов с помощью OAuth 2.0

Все запросы к API библиотеки Google Фото должны быть авторизованы авторизованным пользователем.

Детали процесса авторизации или «потока» для OAuth 2.0 несколько различаются в зависимости от того, какое приложение вы пишете. Следующий общий процесс применим ко всем типам приложений:

  1. Когда вы создаете свое приложение, вы регистрируете его с помощью консоли Google API . Затем Google предоставляет информацию, которая понадобится вам позже, например идентификатор клиента и секрет клиента.
  2. Активируйте API библиотеки Google Фото в консоли Google API. (Если API не указан в консоли API, пропустите этот шаг.)
  3. Когда вашему приложению требуется доступ к пользовательским данным, оно запрашивает у Google определенный объем доступа.
  4. Google отображает пользователю экран согласия , прося его разрешить вашему приложению запрашивать некоторые его данные.
  5. Если пользователь одобряет, Google предоставляет вашему приложению кратковременный токен доступа .
  6. Ваше приложение запрашивает пользовательские данные, прикрепляя к запросу токен доступа.
  7. Если Google определит, что ваш запрос и токен действительны, он вернет запрошенные данные.

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

Ниже представлена ​​информация об области действия OAuth 2.0 для API библиотеки Google Фото:

Объем Значение
https://www.googleapis.com/auth/photoslibrary.readonly

Доступ только для чтения .

Выводить список элементов из библиотеки и всех альбомов, получать доступ ко всем медиа-элементам и перечислять альбомы, принадлежащие пользователю, включая те, к которым с ним был предоставлен общий доступ.

Для альбомов, к которым предоставлен общий доступ пользователь, свойства общего доступа возвращаются только в том случае, если также предоставлена ​​область photoslibrary.sharing .

Свойство shareInfo для альбомов и contributorInfo для mediaItems доступно только в том случае, если также предоставлена ​​область photoslibrary.sharing .

Дополнительную информацию см. в разделе Общий доступ к медиафайлам .

https://www.googleapis.com/auth/photoslibrary.appendonly

Доступ только для записи .

Доступ для загрузки байтов, создания мультимедийных элементов, создания альбомов и добавления дополнений. Разрешает создание новых медиафайлов только в библиотеке пользователя и в альбомах, созданных приложением.

https://www.googleapis.com/auth/photoslibrary.readonly.appcreateddata

Доступ для чтения к медиа-элементам и альбомам, созданным разработчиком. Дополнительные сведения см. в разделах Доступ к элементам мультимедиа и Просмотр содержимого библиотеки, альбомов и элементов мультимедиа .

Предназначен для запроса вместе с областью photoslibrary.appendonly .

https://www.googleapis.com/auth/photoslibrary.edit.appcreateddata

Доступ только для редактирования.

Доступ для изменения этих данных для альбомов и медиа-элементов, созданных разработчиком:

https://www.googleapis.com/auth/photoslibrary.sharing

Доступ к совместному использованию вызовов .

Доступ для создания альбома, предоставления к нему общего доступа, загрузки в него мультимедийных элементов и присоединения к общему альбому.

https://www.googleapis.com/auth/photoslibrary

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

Доступ к областям photoslibrary.appendonly и photoslibrary.readonly . Не включает доступ к photoslibrary.sharing или photoslibrary.edit .

Чтобы запросить доступ с помощью OAuth 2.0, вашему приложению необходима информация об области действия, а также информация, которую Google предоставляет при регистрации вашего приложения (например, идентификатор клиента и секрет клиента).

Совет: Клиентские библиотеки API Google могут выполнить за вас часть процесса авторизации. Они доступны для различных языков программирования; проверьте страницу с библиотеками и образцами для получения более подробной информации.

Выбор областей

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

Постепенно запрашиваемые области

Следуя рекомендациям по авторизации, ваше приложение должно запрашивать области только по мере необходимости. Не запрашивайте все области вашего приложения заранее при входе в систему. Вместо этого предоставьте обоснование и сделайте запрос в контексте. Четко объясните, что вы будете делать с данными своих пользователей и какую выгоду они получат от предоставления доступа в соответствии с рекомендациями по пользовательскому интерфейсу и лучшими практиками направления уведомлений и запроса согласия.

Сервисные аккаунты

API библиотеки не поддерживает учетные записи служб. Ваше приложение должно использовать другие доступные потоки OAuth 2.0, такие как OAuth 2.0 для приложений веб-сервера или OAuth 2.0 для мобильных и настольных приложений .