Akses ke Google Health API disediakan melalui Google Cloud. Untuk mengaktifkan API dan mengotorisasi Akun Google, Anda memerlukan project Google Cloud.
Baik Anda adalah developer Fitbit API yang sudah ada, atau baru menggunakan Google Health API, Anda harus menyelesaikan langkah ini untuk melakukan panggilan ke API.
Membuat project dan klien OAuth
Gunakan tombol Aktifkan API dan dapatkan Client ID OAuth 2.0 untuk mengaktifkan Google Health API dan mendapatkan Client ID OAuth 2.0:
- Jika Anda memiliki project Google Cloud yang ingin digunakan untuk Google Health API, pastikan Anda login ke akun administrator untuk project tersebut terlebih dahulu. Kemudian, pilih project yang ada dari daftar project yang tersedia setelah mengklik tombol. Jika tidak, buat project baru.
- Pilih Server Web saat sistem menanyakan "Dari mana Anda melakukan panggilan?".
- Masukkan https://www.google.com sebagai nilai untuk URI pengalihan yang diotorisasi. URI pengalihan diperlukan untuk mendapatkan Kode Otorisasi menggunakan OAuth 2.0.
- Setelah penyiapan selesai, salin nilai Client ID OAuth 2.0 dan Rahasia Klien, lalu download JSON Kredensial ke mesin lokal Anda.
Jika Anda ingin menyiapkan project Google Cloud secara manual, atau memverifikasi penyiapan dan mengambil kredensial lagi:
- Aktifkan Google Health API di halaman Pengaktifan API.
- Dapatkan Client ID OAuth 2.0 di halaman Kredensial.
Untuk mengetahui informasi selengkapnya tentang cara menyiapkan OAuth 2.0 menggunakan konsol Google, lihat Menggunakan OAuth 2.0 untuk Mengakses Google API.
Menambahkan pengguna pengujian
Secara default, klien OAuth yang baru dibuat berada dalam status belum diverifikasi dengan batas 100 pengguna untuk tujuan pengujian dan produksi. Untuk mengaktifkan otorisasi selama periode ini, Anda harus menambahkan alamat email setiap pengguna secara manual ke daftar Pengguna pengujian dalam konfigurasi project Anda.
Perbarui daftar pengguna pengujian di halaman Audiens:
- Di halaman ini, Anda akan melihat "Status publikasi" ditetapkan ke Pengujian, dan "Jenis pengguna" ditetapkan ke Eksternal.
- Di bagian "Pengguna pengujian", klik + Tambahkan pengguna. Masukkan alamat email untuk pengguna pengujian yang harus diizinkan untuk memberikan izin aplikasi Anda mengakses data kesehatan mereka.
- Klik Simpan.
Untuk mendukung lebih dari 100 pengguna dengan Google Health API, Anda harus menyelesaikan tinjauan keamanan pihak ketiga. Informasi tambahan dapat ditemukan di Pusat Bantuan Verifikasi Aplikasi OAuth.
Menambahkan cakupan
Anda harus menentukan cakupan yang diizinkan untuk dipanggil klien Anda di halaman Akses Data:
- Di halaman ini, klik Tambahkan atau hapus cakupan.
- Di kolom API, telusuri "Google Health API". Pilih cakupan yang Anda perlukan untuk aplikasi Anda.
- Setelah memilih semua cakupan yang Anda perlukan, klik Perbarui untuk kembali ke halaman Akses Data.
- Klik Simpan.
Anda telah selesai menyiapkan client ID dan sekarang dapat melakukan panggilan ke Google Health API.
Mengupdate cakupan
Anda dapat meminta pengguna untuk mengotorisasi ulang aplikasi Anda dengan menetapkan parameter `prompt` ke `consent` dalam permintaan autentikasi Anda. Jika prompt=consent disertakan, layar izin akan ditampilkan setiap kali aplikasi Anda meminta otorisasi cakupan akses, meskipun semua cakupan sebelumnya telah diberikan ke project Google API Anda.
Untuk menambahkan atau mengubah cakupan menggunakan parameter prompt=consent, ikuti langkah-langkah berikut:
Identifikasi daftar lengkap Cakupan yang diperlukan aplikasi Anda. Daftar ini harus mencakup cakupan yang ada dan cakupan baru yang perlu Anda tambahkan.
Ubah parameter cakupan di URL otorisasi untuk menyertakan daftar nilai cakupan yang dipisahkan spasi yang telah diupdate.
Tambahkan
prompt=consentke parameter URI autentikasi Anda. Tindakan ini akan memaksa server otorisasi untuk meminta izin pengguna sebelum menampilkan informasi ke klien Anda.Contoh berikut menunjukkan permintaan GET HTTPS ke endpoint otorisasi OAuth 2.0 Google yang meminta beberapa cakupan dengan
prompt=consentditambahkan:https://accounts.google.com/o/oauth2/v2/auth?client_id=client-id&redirect_uri=redirect-uri&response_type=code&access_type=offline&scope=https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly%20https://www.googleapis.com/auth/googlehealth.sleep.readonly&prompt=consent
Saat pengguna mengikuti link yang telah diupdate, mereka akan melihat halaman izin yang mencantumkan semua cakupan yang diminta. Setelah pengguna mengklik "Lanjutkan" atau "Izinkan", Anda akan menerima kode otorisasi baru yang dapat ditukarkan dengan token yang mencakup kumpulan cakupan lengkap.
Sertakan
prompt=consenthanya jika diperlukan, misalnya saat Anda perlu mendapatkan token refresh baru atau saat cakupan yang diminta telah berubah.
Library klien OAuth2
Daftar library klien OAuth2 yang tersedia dan digunakan untuk berintegrasi dengan framework populer dapat ditemukan di Menggunakan OAuth 2.0 untuk Mengakses Google API.
Token refresh
Untuk mempertahankan akses jangka panjang ke Google API tanpa memerlukan autentikasi ulang pengguna yang konstan, aplikasi Anda harus menggunakan token refresh. Untuk mengetahui detail penerapan yang komprehensif, termasuk parameter dan permintaan HTTP tertentu yang diperlukan, lihat dokumentasiplatform identitas Google .
Untuk menukarkan token refresh dengan token akses, lakukan panggilan POST HTTPS ke endpoint token Google OAuth 2.0. Cuplikan berikut menunjukkan contoh permintaan dan respons:
Permintaan
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'
Respons
{
"access_token": "access-token",
"expires_in": 3599,
"scope": "scope-list",
"token_type": "Bearer",
"refresh_token": "refresh-token",
"refresh_token_expires_in": 112154
}Perilaku token selama pengujian
Perhatikan perilaku token refresh bergantung pada status publikasi project Google Cloud Anda:
- Mode Pengujian: Jika layar izin OAuth Anda dikonfigurasi dengan status publikasi "Pengujian", token refresh yang dikeluarkan berbasis waktu dan akan berakhir masa berlakunya setelah 7 hari. Selama periode ini, Anda akan menerima satu token refresh yang tetap valid dan dapat digunakan untuk mendapatkan token akses baru hingga mencapai tanggal habis masa berlakunya.
- Mode Dipublikasikan: Setelah aplikasi Anda dipindahkan ke status "Dalam Produksi", token refresh umumnya tidak akan berakhir masa berlakunya kecuali jika dicabut atau tidak digunakan dalam waktu yang lama (biasanya enam bulan).
Untuk memberikan pengalaman pengguna yang lancar, pastikan Anda memublikasikan aplikasi sebelum dipindahkan ke lingkungan produksi untuk menghindari masa berlaku token 7 hari.