Panduan ini menjelaskan cara memecahkan masalah umum saat menggunakan Google Health API.
Error klien 4xx
Kode status 4xx ditampilkan jika ada masalah dalam kode aplikasi klien. Lihat elemen isi respons untuk mengetahui informasi selengkapnya tentang masalah tersebut.
400 Bad Request
| Pesan | Deskripsi | Rekomendasi |
|---|---|---|
| Permintaan berisi argumen yang tidak valid. | ID jenis data {value} tidak didukung. | Pastikan jenis data yang direferensikan didukung oleh endpoint. |
| Payload JSON tidak valid diterima. Angka oktal/hex bukan nilai JSON yang valid. | Endpoint dailyRollUp tidak mendukung nilai bulan dan hari
direpresentasikan sebagai MM atau DD. Angka satu digit tidak boleh memiliki angka 0 (nol) di depannya. |
|
| Klien Anda mengajukan format permintaan yang salah atau ilegal. | Kemungkinan penyebab:
|
|
| Nomor project tidak valid dalam nama resource | Saat menghapus atau memperbarui pelanggan menggunakan ID project Google Cloud Anda di URL permintaan, bukan nomor project. Hal ini berlaku untuk langganan webhook menggunakan endpoint projects.subscribers. |
Gunakan nomor project Google Cloud Anda di URL permintaan, bukan ID project. |
401 Tidak Sah
| Pesan | Deskripsi | Rekomendasi |
|---|---|---|
| Permintaan memiliki kredensial autentikasi yang tidak valid. Token akses OAuth 2, cookie login, atau kredensial autentikasi valid lainnya diharapkan. | INVALID_AUTHENTICATOR: Token expired | Token akses Anda telah habis masa berlakunya. Gunakan token refresh untuk mendapatkan token akses &token refresh baru, atau pengguna harus memberikan izin ulang ke aplikasi. |
403 Terlarang
| Pesan | Deskripsi | Rekomendasi |
|---|---|---|
| Penelepon tidak memiliki izin | Saat membuat atau mencantumkan pelanggan menggunakan ID project Google Cloud Anda di URL permintaan, bukan nomor project. Hal ini berlaku untuk langganan webhook menggunakan endpoint projects.subscribers. |
Gunakan nomor project Google Cloud Anda di URL permintaan, bukan ID project. |
| Penelepon tidak memiliki izin. | Tidak dapat membuat UberMint dari GaiaMint. | Pengguna dapat menyelesaikan alur otorisasi, tetapi panggilan endpoint gagal. Hal ini dapat terjadi jika akun Fitbit lama memberikan izin ke aplikasi, bukan Akun Google. Untuk mengatasi error ini:
|
404 Tidak Ditemukan
| Pesan | Deskripsi | Rekomendasi |
|---|---|---|
URL yang diminta /v4/users/me/dataTypes/{dataType}/dataPoints tidak ditemukan di server ini. |
Kemungkinan penyebab:
|
Mengambil ID pengguna Fitbit
Untuk membantu memecahkan masalah pengguna, Anda mungkin perlu memverifikasi Akun Google pengguna yang login ke aplikasi seluler Fitbit.
Untuk menemukan ID pengguna Fitbit:
- Buka aplikasi seluler Fitbit.
- Tekan ikon You di sudut kanan bawah.
- Tekan link Edit profile di kartu atas yang berisi nama pengguna dan tanggal bergabung.
- Arahkan kursor ke bagian bawah laman. Di bagian Your account, nilai yang ditetapkan ke ID adalah ID pengguna Fitbit. (Misalnya: CV5TKH)
Mencabut izin ke aplikasi
Saat membantu pengguna memecahkan masalah koneksi OAuth2 ke aplikasi Anda, Anda mungkin perlu meminta mereka untuk membatalkan tautan akun dari aplikasi Anda, lalu menyelesaikan alur otorisasi Anda lagi.
Untuk membatalkan tautan Akun Google mereka dari aplikasi Anda:
- Buka aplikasi seluler Fitbit.
- Tekan ikon profil pengguna Fitbit di sudut kanan atas.
- Tekan Kelola Akun Google Anda.
- Pilih kartu Data &privacy.
- Scroll ke bawah ke bagian **Data from apps and services you use. Di bagian Apps and services, pilih Third-party apps & services.
- Cari nama aplikasi Anda dalam daftar aplikasi yang terhubung, lalu minta pengguna untuk memilihnya.
- Tekan Delete all connections you have with <app name>.
- Minta pengguna untuk menekan tombol konfirmasi guna mencabut izin ke aplikasi Anda.
Setelah proses pencabutan selesai, pengguna akan diarahkan kembali ke daftar halaman Third-party apps &services. Pengguna mungkin perlu memuat ulang halaman untuk melihat nama aplikasi yang dihapus dari daftar.
Memecahkan masalah penundaan sinkronisasi perangkat
Saat men-debug masalah terkait data pengguna yang tidak ada atau tertunda, sebaiknya periksa model perangkat yang dipasangkan pengguna dan tanggal sinkronisasi terakhirnya.
Informasi model (seperti model smartwatch atau pelacak Fitbit) dan tanggal sinkronisasi terakhir berguna untuk memecahkan masalah dan mengambil data historis setelah penundaan sinkronisasi.
Misalnya, jika Anda melihat celah atau penundaan yang tidak terduga dalam pengiriman data:
- Pastikan ID pengguna yang Anda kueri cocok dengan ID pengguna akun Fitbit
yang login ke aplikasi seluler. Untuk mendapatkan ID pengguna di aplikasi seluler, lihat Mengambil ID pengguna Fitbit.
Untuk mendapatkan ID pengguna dari token akses, panggil endpoint
getIdentity. - Periksa waktu sinkronisasi terakhir untuk menentukan kapan perangkat pengguna terakhir kali disinkronkan dengan aplikasi seluler Google Health.
- Jika perangkat belum disinkronkan baru-baru ini, hal ini menunjukkan bahwa penundaan kemungkinan disebabkan oleh perangkat yang offline atau tidak disinkronkan dengan aplikasi seluler, bukan masalah API.
- Setelah pengguna membuka aplikasi seluler dan menyinkronkan perangkatnya, Anda dapat mengambil data historis untuk periode sejak waktu sinkronisasi terakhir.
Untuk mengambil informasi perangkat yang dipasangkan pengguna, panggil
users.pairedDevices.list
endpoint. Tindakan ini akan menampilkan daftar perangkat yang berisi:
deviceVersion: Nama produk atau model perangkat (misalnya, "Charge 6").lastSyncTime: Stempel waktu sinkronisasi terakhir yang berhasil.