Настройте Google Cloud и OAuth.

Доступ к 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:

  1. Если у вас уже есть проект Google Cloud, который вы хотите использовать для Google Health API, сначала убедитесь, что вы вошли в учетную запись администратора этого проекта. Затем выберите существующий проект из списка доступных проектов после нажатия кнопки. В противном случае создайте новый проект.
  2. При запросе вопроса «Откуда вы звоните?» выберите «Веб-сервер ».
  3. В поле «Авторизованные URI перенаправления» введите https://www.google.com . Для получения кода авторизации с использованием OAuth 2.0 требуется указать URI перенаправления.
  4. После завершения настройки скопируйте значения идентификатора клиента OAuth 2.0 и секретного ключа клиента, а затем загрузите JSON-файл с учетными данными на свой локальный компьютер .
Включите API и получите идентификатор клиента OAuth 2.0.

Если вы хотите настроить свой проект Google Cloud вручную, проверить настройку и повторно получить свои учетные данные:

  1. Включите Google Health API на странице включения API .
  2. Получите идентификатор клиента OAuth 2.0 на странице «Учетные данные» .

Для получения дополнительной информации о настройке OAuth 2.0 с помощью консоли Google см. раздел «Использование OAuth 2.0 для доступа к API Google» .

Добавить тестовых пользователей

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

Обновите список тестовых пользователей на странице «Аудитория» :

  1. На этой странице вы должны увидеть, что в поле «Статус публикации» установлено значение «Тестирование », а в поле «Тип пользователя» — «Внешний ».
  2. В разделе «Тестовые пользователи» нажмите «+ Добавить пользователей» . Введите адреса электронной почты всех тестовых пользователей, которым должно быть разрешено предоставлять вашему приложению разрешение на доступ к их медицинским данным.
  3. Нажмите « Сохранить ».

Для поддержки более 100 пользователей с помощью API Google Health требуется проведение независимой проверки безопасности. Дополнительную информацию можно найти в Справочном центре по проверке приложений OAuth .

Добавить области видимости

На странице «Доступ к данным» необходимо указать области действия, к которым вашему клиенту разрешено обращаться:

  1. На этой странице нажмите «Добавить или удалить области действия» .
  2. В столбце API найдите "Google Health API". Выберите необходимые для вашего приложения области действия.
  3. После выбора всех необходимых областей действия нажмите кнопку «Обновить» , чтобы вернуться на страницу «Доступ к данным».
  4. Нажмите « Сохранить ».

Вы завершили настройку своего идентификатора клиента и теперь можете совершать вызовы к 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 дней.