Доступ к API Google Health предоставляется через Google Cloud. Для включения API и авторизации учетной записи Google вам потребуется проект Google Cloud.
Независимо от того, являетесь ли вы уже разработчиком API Fitbit или только начинаете работать с API Google Health, вам необходимо выполнить этот шаг, чтобы совершать вызовы к API.
Создайте проект и OAuth-клиент.
Воспользуйтесь кнопкой «Включить API и получить идентификатор клиента OAuth 2.0» , чтобы активировать API Google Health и получить идентификатор клиента OAuth 2.0:
- Если у вас уже есть проект Google Cloud, который вы хотите использовать для Google Health API, сначала убедитесь, что вы вошли в учетную запись администратора этого проекта. Затем выберите существующий проект из списка доступных проектов после нажатия кнопки. В противном случае создайте новый проект.
- При запросе вопроса «Откуда вы звоните?» выберите «Веб-сервер ».
- В поле «Авторизованные URI перенаправления» введите https://www.google.com . Для получения кода авторизации с использованием OAuth 2.0 требуется указать URI перенаправления.
- После завершения настройки скопируйте значения идентификатора клиента OAuth 2.0 и секретного ключа клиента, а затем загрузите JSON-файл с учетными данными на свой локальный компьютер .
Если вы хотите настроить свой проект Google Cloud вручную, проверить настройку и повторно получить свои учетные данные:
- Включите Google Health API на странице включения API .
- Получите идентификатор клиента OAuth 2.0 на странице «Учетные данные» .
Для получения дополнительной информации о настройке OAuth 2.0 с помощью консоли Google см. раздел «Использование OAuth 2.0 для доступа к API Google» .
Добавить тестовых пользователей
По умолчанию вновь созданные OAuth-клиенты находятся в непроверенном состоянии с ограничением в 100 пользователей как для тестирования, так и для производственной среды. Чтобы включить авторизацию в этот период, необходимо вручную добавить адрес электронной почты каждого пользователя в список тестовых пользователей в конфигурации проекта.
Обновите список тестовых пользователей на странице «Аудитория» :
- На этой странице вы должны увидеть, что в поле «Статус публикации» установлено значение «Тестирование », а в поле «Тип пользователя» — «Внешний ».
- В разделе «Тестовые пользователи» нажмите «+ Добавить пользователей» . Введите адреса электронной почты всех тестовых пользователей, которым должно быть разрешено предоставлять вашему приложению разрешение на доступ к их медицинским данным.
- Нажмите « Сохранить ».
Для поддержки более 100 пользователей с помощью API Google Health требуется проведение независимой проверки безопасности. Дополнительную информацию можно найти в Справочном центре по проверке приложений OAuth .
Добавить области видимости
На странице «Доступ к данным» необходимо указать области действия, к которым вашему клиенту разрешено обращаться:
- На этой странице нажмите «Добавить или удалить области действия» .
- В столбце API найдите "Google Health API". Выберите необходимые для вашего приложения области действия.
- После выбора всех необходимых областей действия нажмите кнопку «Обновить» , чтобы вернуться на страницу «Доступ к данным».
- Нажмите « Сохранить ».
Вы завершили настройку своего идентификатора клиента и теперь можете совершать вызовы к API Google Health.
Библиотеки клиента OAuth2
Список доступных клиентских библиотек OAuth2, используемых для интеграции с популярными фреймворками, можно найти в статье «Использование OAuth 2.0 для доступа к API Google» .
Токены обновления
Для обеспечения долговременного доступа к API Google без необходимости постоянной повторной аутентификации пользователей ваше приложение должно использовать токен обновления. Подробную информацию о реализации, включая необходимые HTTP-запросы и параметры, см. в документации платформы идентификации Google .
Чтобы обменять токен обновления на токен доступа, выполните HTTPS POST-запрос к конечной точке Google OAuth 2.0 для получения токенов. В следующем фрагменте кода показан пример запроса и ответа:
Запрос
curl -L -X POST 'https://oauth2.googleapis.com/token' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'client_id=client-id&client_secret=client-secret&refresh_token=refresh-token&grant_type=refresh_token'
Ответ
{
"access_token": "access-token",
"expires_in": 3599,
"scope": "scope-list",
"token_type": "Bearer",
"refresh_token": "refresh-token",
"refresh_token_expires_in": 112154
}Поведение токена во время тестирования
Учитывайте, как работают токены обновления в зависимости от статуса публикации вашего проекта в Google Cloud:
- Режим тестирования: Если для экрана согласия OAuth установлен статус публикации «Тестирование», выдаваемые токены обновления являются временными и истекают через 7 дней. В течение этого периода вы будете получать один токен обновления, который остается действительным и может быть использован для получения новых токенов доступа до истечения срока его действия.
- Опубликованный режим: После перевода вашего приложения в статус «В производстве» токены обновления, как правило, не истекают, если только они не отозваны или не остаются неиспользованными в течение длительного периода (обычно шесть месяцев).
Для обеспечения бесперебойной работы приложения убедитесь, что вы опубликовали его до того, как оно будет перенесено в рабочую среду, чтобы избежать истечения срока действия токенов через 7 дней.