Akses ke Google Health API disediakan melalui Google Cloud. Untuk mengaktifkan API dan memberi otorisasi 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 ID Klien OAuth 2.0 untuk mengaktifkan Google Health API dan mendapatkan ID Klien OAuth 2.0:
- Jika Anda memiliki project Google Cloud yang sudah ada 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 Web Server saat ditanya "Where are you calling from?".
- Masukkan https://www.google.com sebagai nilai untuk URI pengalihan yang diizinkan. URI pengalihan diperlukan untuk mendapatkan Kode Otorisasi menggunakan OAuth 2.0.
- Setelah penyiapan selesai, salin nilai Client ID dan Rahasia Klien OAuth 2.0, lalu download JSON Kredensial ke mesin lokal Anda.
Jika Anda ingin menyiapkan project Google Cloud secara manual, atau memverifikasi penyiapan dan mengambil kredensial Anda lagi:
- Aktifkan Google Health API di halaman Pengaktifan API.
- Dapatkan ID Klien OAuth 2.0 di halaman Credentials.
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 terverifikasi 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 setiap pengguna pengujian yang harus diizinkan untuk memberikan izin kepada aplikasi Anda guna mengakses data kesehatan mereka.
- Klik Simpan.
Mendukung lebih dari 100 pengguna dengan Google Health API memerlukan penyelesaian peninjauan 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 butuhkan untuk aplikasi Anda.
- Setelah memilih semua cakupan yang Anda butuhkan, 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 mengizinkan ulang aplikasi Anda dengan menetapkan parameter perintah
ke izin dalam permintaan autentikasi Anda. Jika prompt=consent disertakan,
layar izin akan ditampilkan setiap kali aplikasi Anda meminta otorisasi cakupan akses, meskipun semua cakupan telah diberikan sebelumnya ke project Google API Anda.
Untuk menambahkan atau mengubah cakupan menggunakan parameter prompt=consent, ikuti langkah-langkah berikut:
Identifikasi daftar lengkap Cakupan yang dibutuhkan aplikasi Anda. Hal 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 diperbarui dan dipisahkan dengan spasi.
Tambahkan
prompt=consentke parameter URI autentikasi Anda. Hal ini 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 diperbarui, 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 seluruh set cakupan.
Sertakan
prompt=consenthanya jika diperlukan, seperti 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 terus-menerus, aplikasi Anda harus menggunakan token refresh. Untuk detail penerapan yang komprehensif, termasuk permintaan dan parameter HTTP tertentu yang diperlukan, lihat dokumentasi platform 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 setelah 7 hari. Selama periode ini, Anda akan menerima satu token refresh yang tetap valid dan dapat digunakan untuk mendapatkan token akses baru hingga tanggal habis masa berlakunya.
- Mode Dipublikasikan: Setelah aplikasi Anda dipindahkan ke status "Dalam Produksi", token refresh umumnya tidak akan habis masa berlakunya kecuali jika dicabut atau tidak digunakan dalam jangka waktu yang lama (biasanya enam bulan).
Untuk pengalaman pengguna yang lancar, pastikan Anda memublikasikan aplikasi sebelum dipindahkan ke lingkungan produksi untuk menghindari masa berlaku token 7 hari.
Perlindungan Lintas Akun (RISC API)
Aktifkan Koordinasi dan Berbagi Risiko dan Insiden (RISC) jika Anda ingin diberi tahu tentang perubahan pada token acara atau penautan akun, seperti akun yang tidak ditautkan atau token yang dicabut, untuk membersihkan token yang disimpan dan memperbarui status koneksi UI. Mengaktifkan RISC API bersifat opsional.
Untuk mengaktifkan RISC API untuk project Google Cloud Anda:
- Buka halaman RISC API di konsol Google Cloud. Pastikan project yang Anda gunakan untuk Google Health API dipilih.
- Baca Persyaratan RISC dan pastikan Anda memahami persyaratannya.
- Klik Aktifkan jika Anda menyetujui persyaratan tersebut.
Setelah mengaktifkan API, Anda harus membuat dan mendaftarkan endpoint HTTPS untuk menerima dan memvalidasi token peristiwa yang dikirim oleh Google.
Untuk mengetahui informasi selengkapnya tentang Perlindungan Lintas Akun dan RISC, lihat Melindungi akun pengguna dengan Perlindungan Lintas Akun.