Rozwiązywanie problemów

Z tego przewodnika dowiesz się, jak rozwiązywać typowe problemy, które mogą wystąpić podczas korzystania z Google Health API.

Błędy klienta 4xx

Kody stanu 4xx są zwracane, gdy występuje problem w kodzie aplikacji klienckiej. Więcej informacji o problemie znajdziesz w elementach treści odpowiedzi.

400 Nieprawidłowe żądanie

Wiadomość Opis Rekomendacja
Żądanie zawiera nieprawidłowy argument. Identyfikator typu danych {value} nie jest obsługiwany. Sprawdź, czy typ danych, do którego się odwołujesz, jest obsługiwany przez punkt końcowy.
Otrzymano nieprawidłowy ładunek JSON. Liczby ósemkowe i szesnastkowe nie są prawidłowymi wartościami JSON. Punkt końcowy dailyRollUp nie obsługuje wartości miesiąca i dnia reprezentowanych odpowiednio jako MM lub DD. Liczby jednocyfrowe nie powinny zaczynać się od 0 (zera).
Nieprawidłowy numer projektu w nazwie zasobu Podczas usuwania lub aktualizowania subskrybenta za pomocą identyfikatora projektu Google Cloud w adresie URL żądania zamiast numeru projektu. Dotyczy to subskrypcji webhooków korzystających z punktu końcowego projects.subscribers. W adresie URL żądania użyj numeru projektu w chmurze Google, a nie identyfikatora projektu.

401 Brak autoryzacji

Wiadomość Opis Rekomendacja
Żądanie zawierało nieprawidłowe dane uwierzytelniające. Oczekiwany token dostępu OAuth 2, plik cookie logowania lub inne prawidłowe dane uwierzytelniające. INVALID_AUTHENTICATOR: Token wygasł Twój token dostępu wygasł. Użyj tokena odświeżania, aby uzyskać nowy token dostępu i token odświeżania, lub użytkownik powinien ponownie wyrazić zgodę na korzystanie z aplikacji.

403 Zabroniony

Wiadomość Opis Rekomendacja
Ten rozmówca nie ma uprawnień Podczas tworzenia lub wyświetlania listy subskrybentów za pomocą identyfikatora projektu Google Cloud w adresie URL żądania zamiast numeru projektu. Dotyczy to subskrypcji webhooków korzystających z punktu końcowego projects.subscribers. W adresie URL żądania użyj numeru projektu w chmurze Google, a nie identyfikatora projektu.
Ten rozmówca nie ma uprawnień. Nie udało się wygenerować UberMint z GaiaMint.

Użytkownikowi udało się przejść proces autoryzacji, ale wywołanie punktu końcowego nie powiodło się. Może się to zdarzyć, gdy starsze konto Fitbit wyrazi zgodę na korzystanie z aplikacji zamiast konta Google. Aby rozwiązać ten problem:

  1. Wyloguj się z aplikacji mobilnej Fitbit w ustawieniach Fitbita.
  2. Zaloguj się w aplikacji mobilnej Fitbit, naciskając przycisk „Kontynuuj z Google” lub „Zaloguj się przez Google”. Jeśli pojawi się komunikat „Nie można używać Fitbita z tym kontem Google”, Twój adres e-mail jest nadal zarejestrowany jako starsze konto Fitbit. Aby przenieść konto, wykonaj czynności opisane w tym artykule pomocy.

404 Nie znaleziono

Wiadomość Opis Rekomendacja
Nie można znaleźć żądanego adresu URL /v4/users/me/dataTypes/{dataType}/dataPoints na tym serwerze. Możliwe przyczyny:
  • Sprawdź, czy używasz prawidłowego czasownika.
  • Sprawdź, czy w składni punktu końcowego nie ma błędów.

Pobieranie identyfikatora użytkownika Fitbita

Aby rozwiązać problem użytkownika, może być konieczne sprawdzenie konta Google użytkownika zalogowanego w aplikacji mobilnej Fitbit.

Aby znaleźć identyfikator użytkownika Fitbita:

  1. Otwórz aplikację mobilną Fitbit.
  2. W prawym dolnym rogu naciśnij ikonę Ty.
  3. W górnym kafelku zawierającym nazwę użytkownika i datę dołączenia naciśnij link Edytuj profil.
  4. Przewiń do dołu strony. W sekcji Twoje konto wartość przypisana do identyfikatora to identyfikator użytkownika Fitbita. (Na przykład: CV5TKH)

Podczas rozwiązywania problemów z połączeniem OAuth2 z Twoją aplikacją może być konieczne odłączenie konta użytkownika od aplikacji, a następnie ponowne przejście procesu autoryzacji.

Aby odłączyć konto Google od aplikacji:

  1. Otwórz aplikację mobilną Fitbit.
  2. W prawym górnym rogu naciśnij ikonę profilu użytkownika Fitbita.
  3. Naciśnij Zarządzaj kontem Google.
  4. Wybierz kafelek Dane i prywatność.
  5. Przewiń w dół do sekcji **Dane z aplikacji i usług, których używasz**. W sekcji Aplikacje i usługi wybierz Aplikacje i usługi innych firm.
  6. Na liście połączonych aplikacji znajdź nazwę swojej aplikacji i poproś użytkownika, aby ją wybrał.
  7. Naciśnij Usuń wszystkie połączenia z <nazwa aplikacji>.
  8. Poproś użytkownika, aby potwierdził cofnięcie zgody na korzystanie z Twojej aplikacji.

Po zakończeniu procesu cofania zgody użytkownik zostanie przekierowany z powrotem na stronę Aplikacje i usługi innych firm. Aby nazwa aplikacji zniknęła z listy, użytkownik może być zmuszony odświeżyć stronę.

Rozwiązywanie problemów z opóźnieniami w synchronizacji urządzeń

Podczas debugowania problemów związanych z brakującymi lub opóźnionymi danymi użytkownika warto sprawdzić model sparowanego urządzenia użytkownika i datę ostatniej synchronizacji.

Informacje o modelu (np. model opaski Fitbit lub smartwatcha) i data ostatniej synchronizacji są przydatne do rozwiązywania problemów i pobierania danych historycznych po opóźnieniach w synchronizacji.

Jeśli na przykład zauważysz nieoczekiwaną przerwę lub opóźnienie w dostarczaniu danych:

  1. Sprawdź, czy identyfikator użytkownika, o który wysyłasz zapytanie, jest zgodny z identyfikatorem użytkownika konta Fitbit zalogowanego w aplikacji mobilnej. Aby uzyskać identyfikator użytkownika w aplikacji mobilnej , przeczytaj artykuł Pobieranie identyfikatora użytkownika Fitbita. Aby uzyskać identyfikator użytkownika z tokena dostępu, wywołaj punkt końcowy getIdentity.
  2. Sprawdź czas ostatniej synchronizacji, aby określić, kiedy urządzenie użytkownika ostatnio zsynchronizowało się z aplikacją mobilną Google Health.
  3. Jeśli urządzenie nie było ostatnio synchronizowane, oznacza to, że opóźnienie jest prawdopodobnie spowodowane tym, że urządzenie jest offline lub nie synchronizuje się z aplikacją mobilną, a nie problemem z interfejsem API.
  4. Gdy użytkownik otworzy aplikację mobilną i zsynchronizuje urządzenie, możesz pobrać dane historyczne z okresu od ostatniej synchronizacji.

Aby pobrać informacje o sparowanym urządzeniu użytkownika, wywołaj users.pairedDevices.list punkt końcowy. Zwraca on listę urządzeń zawierającą:

  • deviceVersion: nazwa produktu lub model urządzenia (np. „Charge 6”).
  • lastSyncTime: sygnatura czasowa ostatniej udanej synchronizacji.