API библиотеки Google Фото содержит несколько областей, используемых для доступа к элементам мультимедиа и альбомам. Ответы, возвращаемые различными вызовами, различаются в зависимости от того, какие области были запрошены разработчиком.
Каждый запрос, который ваше приложение отправляет в API библиотеки Google Фото, должен включать токен авторизации. Токен также идентифицирует ваше приложение для Google.
О протоколах авторизации
Ваше приложение должно использовать OAuth 2.0 для авторизации запросов. Другие протоколы авторизации не поддерживаются. Если ваше приложение использует «Войти через Google» , некоторые аспекты авторизации выполняются за вас.
Авторизация запросов с помощью OAuth 2.0
Все запросы к API библиотеки Google Фото должны быть авторизованы авторизованным пользователем.
Детали процесса авторизации или «потока» для OAuth 2.0 несколько различаются в зависимости от того, какое приложение вы пишете. Следующий общий процесс применим ко всем типам приложений:
- Когда вы создаете свое приложение, вы регистрируете его с помощью консоли Google API . Затем Google предоставляет информацию, которая понадобится вам позже, например идентификатор клиента и секрет клиента.
- Активируйте API библиотеки Google Фото в консоли Google API. (Если API не указан в консоли API, пропустите этот шаг.)
- Когда вашему приложению требуется доступ к пользовательским данным, оно запрашивает у Google определенный объем доступа.
- Google отображает пользователю экран согласия , прося его разрешить вашему приложению запрашивать некоторые его данные.
- Если пользователь одобряет, Google предоставляет вашему приложению кратковременный токен доступа .
- Ваше приложение запрашивает пользовательские данные, прикрепляя к запросу токен доступа.
- Если Google определит, что ваш запрос и токен действительны, он вернет запрошенные данные.
Некоторые потоки включают дополнительные шаги, например использование токенов обновления для получения новых токенов доступа. Подробную информацию о потоках для различных типов приложений см. в документации Google OAuth 2.0 .
Ниже представлена информация об области действия OAuth 2.0 для API библиотеки Google Фото:
Объем | Значение |
---|---|
https://www.googleapis.com/auth/photoslibrary.readonly | Выводить список элементов из библиотеки и всех альбомов, получать доступ ко всем медиа-элементам и перечислять альбомы, принадлежащие пользователю, включая те, к которым с ним был предоставлен общий доступ. Для альбомов, к которым предоставлен общий доступ пользователь, свойства общего доступа возвращаются только в том случае, если также предоставлена область Свойство Дополнительную информацию см. в разделе Общий доступ к медиафайлам . |
https://www.googleapis.com/auth/photoslibrary.appendonly | Доступ для загрузки байтов, создания мультимедийных элементов, создания альбомов и добавления дополнений. Разрешает создание новых медиафайлов только в библиотеке пользователя и в альбомах, созданных приложением. |
https://www.googleapis.com/auth/photoslibrary.readonly.appcreateddata | Доступ для чтения к медиа-элементам и альбомам, созданным разработчиком. Дополнительные сведения см. в разделах Доступ к элементам мультимедиа и Просмотр содержимого библиотеки, альбомов и элементов мультимедиа . Предназначен для запроса вместе с областью |
https://www.googleapis.com/auth/photoslibrary.edit.appcreateddata | Доступ только для редактирования. Доступ для изменения этих данных для альбомов и медиа-элементов, созданных разработчиком: |
https://www.googleapis.com/auth/photoslibrary.sharing | Доступ к совместному использованию вызовов . Доступ для создания альбома, предоставления к нему общего доступа, загрузки в него мультимедийных элементов и присоединения к общему альбому. |
https://www.googleapis.com/auth/photoslibrary | Не рекомендуется. Запрашивайте доступ только к тем областям, которые вам нужны, с помощью добавочной авторизации . Доступ к областям |
Чтобы запросить доступ с помощью OAuth 2.0, вашему приложению необходима информация об области действия, а также информация, которую Google предоставляет при регистрации вашего приложения (например, идентификатор клиента и секрет клиента).
Совет: Клиентские библиотеки API Google могут выполнить за вас часть процесса авторизации. Они доступны для различных языков программирования; проверьте страницу с библиотеками и образцами для получения более подробной информации.
Выбор областей
Как правило, выбирайте максимально ограниченную область действия и избегайте запроса областей, которые не нужны вашему приложению. Пользователи с большей готовностью предоставляют доступ к ограниченным, четко описанным областям. Пользователи могут колебаться в предоставлении широкого доступа к своим медиа, если они не доверяют вашему приложению и не понимают, зачем ему нужна информация.
Постепенно запрашиваемые области
Следуя рекомендациям по авторизации, ваше приложение должно запрашивать области только по мере необходимости. Не запрашивайте все области вашего приложения заранее при входе в систему. Вместо этого предоставьте обоснование и сделайте запрос в контексте. Четко объясните, что вы будете делать с данными своих пользователей и какую выгоду они получат от предоставления доступа в соответствии с рекомендациями по пользовательскому интерфейсу и лучшими практиками направления уведомлений и запроса согласия.
Сервисные аккаунты
API библиотеки не поддерживает учетные записи служб. Ваше приложение должно использовать другие доступные потоки OAuth 2.0, такие как OAuth 2.0 для приложений веб-сервера или OAuth 2.0 для мобильных и настольных приложений .