API библиотеки Google Фото содержит несколько областей, используемых для доступа к элементам мультимедиа и альбомам. Ответы, возвращаемые различными вызовами, различаются в зависимости от того, какие области были запрошены разработчиком.
Каждый запрос, отправляемый вашим приложением в API библиотеки Google Фото, должен включать токен авторизации. Токен также идентифицирует ваше приложение для Google.
О протоколах авторизации
Ваше приложение должно использовать OAuth 2.0 для авторизации запросов. Никакие другие протоколы авторизации не поддерживаются. Если ваше приложение использует Sign In With Google , некоторые аспекты авторизации выполняются за вас.
Авторизация запросов с помощью OAuth 2.0
Все запросы к API библиотеки Google Фото должны быть авторизованы пользователем, прошедшим проверку подлинности.
Детали процесса авторизации или «потока» для OAuth 2.0 несколько различаются в зависимости от того, какое приложение вы пишете. Следующий общий процесс применяется ко всем типам приложений:
- Когда вы создаете свое приложение, вы регистрируете его с помощью Google API Console . Затем 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 для мобильных и настольных приложений .