Доступ к данным и авторизация

API Google Health использует надежную и стандартизированную структуру для управления доступом к пользовательским данным и обеспечения их безопасности. Ключевым компонентом этой модернизации является переход от устаревшей системы авторизации Fitbit (FOT) к Google OAuth 2.0. Этот переход позволяет разработчикам использовать стандартные библиотеки аутентификации Google, упрощая реализацию и предоставляя пользователям привычный и централизованный интерфейс для управления своими разрешениями.

Регистрация приложения

Все приложения Google Health API должны быть зарегистрированы с помощью консоли Google Cloud , которая служит центральным центром для управления всеми вашими приложениями Google.

Инструкции по регистрации вашего приложения см. в разделе «Начало работы ». Вот какие отличия вы заметите при регистрации приложений.

Веб-API Fitbit API Google Health
Общедоступная ссылка(и) https://dev.fitbit.com/apps https://console.cloud.google.com
Добавление нового приложения Нажмите «Зарегистрировать новое приложение» .
  1. Создайте проект в Google Cloud.
  2. Включить API Google Health
Основная информация Поля для заполнения:
  • Название приложения
  • Описание
  • URL веб-сайта приложения
  • Организация
  • URL-адрес веб-сайта организации
  • Условия использования URL
  • URL политики конфиденциальности
Поля для заполнения:
  • Название приложения
  • Электронная почта службы поддержки
  • Целевая аудитория (внутренняя или внешняя)
  • Контактный адрес электронной почты
  • значок логотипа
  • URL веб-сайта приложения
  • URL политики конфиденциальности
  • Условия использования URL
  • Авторизованный домен
Типы приложений Разработчику необходимо выбрать:
  • Сервер
  • Клиент
  • Личное
  • Веб-приложение
  • Android
  • Расширение для Chrome
  • iOS
  • Телевизоры
  • Настольное приложение
  • Универсальная платформа Windows
Идентификатор клиента Регистрируется при сохранении настроек приложения. Зарегистрировано отдельно
Тип доступа Доступ на чтение и запись контролируется на уровне приложения. Доступ на чтение и запись контролируется на уровне области действия.
Дополнительные URL-адреса
  • URL перенаправления : Сайт, на который пользователи перенаправляются после авторизации областей действия.
  • Авторизованные источники JavaScript : HTTP-источник, на котором размещено веб-приложение.
  • URL перенаправления : Сайт, на который пользователи перенаправляются после авторизации областей действия.

Реализация OAuth

Приложения Google Health API поддерживают только клиентские библиотеки Google OAuth2 . Клиентские библиотеки доступны для популярных фреймворков, что упрощает реализацию OAuth 2.0. Различия между библиотеками Google OAuth2 и библиотеками OAuth2 с открытым исходным кодом заключаются в следующем:

Веб-API Fitbit API Google Health
Поддержка библиотеки OAuth2 Открытый исходный код Библиотеки клиента Google OAuth2
Функциональность Несогласованность на разных платформах Единообразный интерфейс на всех платформах
URL авторизации https://www.fitbit.com/oauth2/authorize https://accounts.google.com/o/oauth2/v2/auth
URL токена https://api.fitbit.com/oauth2/token https://oauth2.googleapis.com/token
Пожизненный срок действия токена доступа 8 часов 1 час
Размер токена доступа 1024 байта 2048 байт
Токен обновления Токены обновления генерируются при использовании потока предоставления кода авторизации. Для пользователя может быть сгенерирован только один токен обновления. Токены никогда не истекают и могут быть использованы только один раз. Для генерации токена обновления строка авторизации должна содержать параметр запроса "access_type=offline". Для одного пользователя можно создать несколько токенов обновления. Токены обновления могут быть ограничены по времени. Они истекают, если не использовались в течение 6 месяцев, если пользователю был предоставлен доступ на основе времени или если приложение находится в режиме "Тестирование". Дополнительные сведения см. в разделе "Срок действия токена обновления ".
Ответ токена JSON-ответ содержит:
  • токен доступа
  • Срок действия токена доступа истекает
  • области
  • тип токена
  • токен обновления
  • ID пользователя
JSON-ответ содержит:
  • токен доступа
  • Срок действия токена доступа истекает
  • области
  • тип токена
  • токен обновления

Для получения идентификатора пользователя используйте конечную точку users.getIdentity .

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