Устранение неполадок

В этом руководстве объясняется, как устранять распространенные проблемы при использовании API Google Health.

4xx ошибок клиента

Коды состояния 4xx возвращаются, когда в коде клиентского приложения обнаруживается проблема. Для получения более подробной информации о проблеме обратитесь к элементам тела ответа.

400 Неверный запрос

Сообщение Описание Рекомендация
Запрос содержит недопустимый аргумент. Тип данных ID {value} не поддерживается. Убедитесь, что тип данных, на который делается ссылка, поддерживается конечной точкой.
Получен недопустимый JSON-данные. Восьмеричные/шестнадцатеричные числа не являются допустимыми значениями JSON. Конечная точка dailyRollUp не поддерживает значения месяца и дня, представленные в формате MM или DD соответственно. Однозначные числа не должны содержать ведущий ноль (0).
Ваш клиент отправил некорректный или незаконный запрос. Возможные причины:
  • Убедитесь, что используется правильный HTTP-метод.
  • Проверьте синтаксис конечной точки на наличие опечаток.
Неверный номер проекта в имени ресурса. При удалении или обновлении подписчика используется идентификатор вашего проекта Google Cloud в URL-адресе запроса вместо номера проекта. Это относится к подпискам через веб-перехватчики, использующие конечную точку projects.subscribers . В URL-адресе запроса используйте номер вашего проекта Google Cloud, а не идентификатор проекта.

401 Несанкционированный доступ

Сообщение Описание Рекомендация
Запрос содержал недействительные учетные данные для аутентификации. Ожидался токен доступа OAuth 2, cookie для входа в систему или другие действительные учетные данные для аутентификации. INVALID_AUTHENTICATOR: Срок действия токена истек Срок действия вашего токена доступа истек. Используйте токен обновления, чтобы получить новый токен доступа и токен обновления, или пользователю необходимо повторно дать согласие приложению.

403 Запрещено

Сообщение Описание Рекомендация
У звонящего нет разрешения. При создании или отображении списка подписчиков используйте идентификатор вашего проекта Google Cloud в URL-адресе запроса вместо номера проекта. Это относится к подпискам через веб-перехватчики, использующие конечную точку projects.subscribers . В URL-адресе запроса используйте номер вашего проекта Google Cloud, а не идентификатор проекта.
У звонящего нет разрешения. Не удалось отчеканить монету UberMint от GaiaMint.

Пользователь смог завершить процесс авторизации, но вызов конечной точки завершился неудачей. Это может произойти, когда подтверждение авторизации предоставляется с использованием устаревшей учетной записи Fitbit, а не учетной записи Google. Для устранения этой ошибки:

  1. Выйдите из мобильного приложения Fitbit через настройки Fitbit.
  2. Войдите в мобильное приложение Fitbit, нажав кнопку «Продолжить с Google» или «Войти с Google». Если вы получили сообщение «Невозможно использовать Fitbit с этой учетной записью Google», ваш адрес электронной почты по-прежнему зарегистрирован как старая учетная запись Fitbit. Следуйте инструкциям в этой справочной статье , чтобы перенести свою учетную запись.

404 Не найдено

Сообщение Описание Рекомендация
Запрошенный URL-адрес /v4/users/me/dataTypes/{dataType}/dataPoints не найден на этом сервере. Возможные причины:
  • Убедитесь, что используется правильный глагол.
  • Проверьте синтаксис конечной точки на наличие опечаток.

Получить идентификатор пользователя Fitbit

Для устранения неполадок может потребоваться подтверждение учетной записи Google пользователя, вошедшего в мобильное приложение Fitbit.

Чтобы найти идентификатор пользователя Fitbit:

  1. Откройте мобильное приложение Fitbit.
  2. Нажмите на значок «Вы» в правом нижнем углу.
  3. Нажмите на ссылку «Редактировать профиль» в верхней части страницы, где указаны имя пользователя и дата регистрации.
  4. Прокрутите страницу вниз. В разделе «Ваш аккаунт» значение, присвоенное идентификатору, — это идентификатор пользователя Fitbit. (Например: CV5TKH)

При оказании помощи пользователю в устранении неполадок с подключением OAuth2 к вашему приложению вам может потребоваться, чтобы он отвязал свою учетную запись от вашего приложения, а затем снова прошел процедуру авторизации.

Чтобы отвязать их учетную запись Google от вашего приложения:

  1. Откройте мобильное приложение Fitbit.
  2. Нажмите на значок профиля пользователя Fitbit в правом верхнем углу.
  3. Нажмите «Управление учетной записью Google» .
  4. Выберите плитку «Данные и конфиденциальность» .
  5. Прокрутите вниз до раздела **Данные из используемых вами приложений и сервисов.** В разделе «Приложения и сервисы» выберите «Сторонние приложения и сервисы» .
  6. Найдите название своего приложения в списке подключенных приложений и попросите пользователя выбрать его.
  7. Нажмите « Удалить все соединения, которые у вас есть с <название приложения>» .
  8. Предложите пользователю нажать кнопку «Подтвердить», чтобы отозвать согласие на использование вашего приложения.

После завершения процесса отзыва пользователь будет перенаправлен на страницу со списком сторонних приложений и сервисов . Возможно, пользователю потребуется обновить страницу, чтобы увидеть, что название приложения удалено из списка.

Устранение неполадок, связанных с задержками синхронизации устройства.

При отладке проблем, связанных с отсутствием или задержкой пользовательских данных, полезно проверить модель сопряженного устройства пользователя и дату последней синхронизации.

Информация о модели (например, модель фитнес-трекера Fitbit или умных часов) и дата последней синхронизации полезны для устранения неполадок и для получения исторических данных после задержек синхронизации.

Например, если вы заметили неожиданный сбой или задержку в доставке данных:

  1. Убедитесь, что запрашиваемый идентификатор пользователя совпадает с идентификатором пользователя учетной записи Fitbit, вошедшей в мобильное приложение. Чтобы получить идентификатор пользователя в мобильном приложении, см. раздел «Получение идентификатора пользователя Fitbit» . Чтобы получить идентификатор пользователя из токена доступа, вызовите конечную точку getIdentity .
  2. Проверьте время последней синхронизации, чтобы определить, когда устройство пользователя в последний раз синхронизировалось с мобильным приложением Google Health.
  3. Если устройство давно не синхронизировалось, это указывает на то, что задержка, скорее всего, вызвана тем, что устройство находится в автономном режиме или не синхронизируется с мобильным приложением, а не проблемой с API.
  4. После того как пользователь откроет мобильное приложение и синхронизирует свое устройство, вы сможете получить доступ к историческим данным за период с момента последней синхронизации.

Для получения информации о сопряженных устройствах пользователя вызовите конечную точку users.pairedDevices.list . В результате будет возвращен список устройств, содержащий:

  • deviceVersion : Название продукта или модель устройства (например, "Charge 6").
  • lastSyncTime : метка времени последней успешной синхронизации.