1. Pengantar
OAuth 2.0 Playground adalah alat berbasis web yang membantu Anda menguji alur Google OAuth 2.0 tanpa menulis kode apa pun. Codelab ini akan menunjukkan cara menyiapkan project Google Cloud, mendapatkan kredensial, memulai alur otorisasi dengan OAuth 2.0 Playground, dan melakukan panggilan pertama ke salah satu endpoint Google Health API.
Yang akan Anda pelajari
- Cara menyiapkan client ID dalam konsol Google Cloud.
- Cara melalui alur otorisasi Google OAuth 2.0 untuk mendapatkan token akses dan token refresh menggunakan OAuth 2.0 Playground.
- Cara melakukan panggilan ke endpoint Google Health API menggunakan OAuth 2.0 Playground.
Yang akan Anda butuhkan
- Akun Google
- Aplikasi seluler Fitbit
- OAuth 2.0 Playground
Untuk menyiapkan aplikasi seluler Fitbit:
- Di Apple App Store atau Google Play Store, telusuri aplikasi seluler Fitbit dan download.
- Pilih ikon aplikasi.
- Klik Sign in with Google.
- Pilih Akun Google Anda, lalu tekan tombol Continue.
2. Menyiapkan project Google Cloud
Anda akan menggunakan konsol Google Cloud untuk membuat client ID dan mengaktifkan penggunaan Google Health API.
- Login ke konsol Google Cloud.
- Untuk membuat project baru:
- Klik Select a project dari pemilih project.
- Di pojok kanan atas, pilih New Project.
- Masukkan Project name Anda.
- Masukkan Location Anda (misalnya, "No organization").
- Klik tombol Create.
- Pilih project Anda.
Mengaktifkan Google Health API
- Di pojok kiri atas, klik ikon menu:

- Pilih APIs & Services > Library.
- Telusuri "Google Health API" dan aktifkan.
Menyiapkan kredensial OAuth
Jika Anda tidak berada di konsol Google Cloud, buka konsol Google Cloud.
- Di pojok kiri atas, klik ikon menu:

- Pilih APIs & Services > Credentials.
- Di bagian tengah atas, pilih + Create Credentials > OAuth client ID.
- Klik tombol Configure consent screen. Jika pesan "Google Auth Platform not configured yet" muncul, klik tombol Get Started.
- Di bagian 1:
- Masukkan App name.
- Masukkan User support email.
- Klik tombol Next.
- Di bagian 2:
- Pilih External.
- Klik tombol Next.
- Di bagian 3:
- Masukkan alamat email Anda di kolom Contact Information.
- Klik tombol Next.
- Di bagian 4:
- Klik kotak centang untuk menyetujui Google's API Services User Data Policy.
- Klik tombol Create.
- Buka APIs & Services > Credentials , lalu pilih + Create Credentials > OAuth client ID.
- Pilih jenis aplikasi Web Application.
- Masukkan name client ID.
- Biarkan Authorized JavaScript origins kosong.
- Di bagian Authorized redirect URIs, klik + Add URI, lalu tambahkan URI berikut:
https://www.google.comhttps://developers.google.com/oauthplayground
- Klik tombol Create.
- Konsol Google akan menampilkan pesan bahwa client ID Anda telah dibuat. Klik link Download JSON untuk mendownload client ID dan rahasia klien, atau tulis nilainya. Anda tidak akan dapat memulihkan rahasia klien Anda setelahnya.
- Klik OK. Anda akan kembali ke halaman "OAuth 2.0 Client IDs".
- Client ID Anda akan ditambahkan ke project Anda. Klik URL client ID untuk melihat detailnya.
Menambahkan pengguna pengujian
- Di panel kiri, pilih Audience. Anda akan melihat "Publishing status" ditetapkan ke Testing, dan "User type" ditetapkan ke External.
- Di bagian "Test users", klik tombol + Add users. Masukkan alamat email pengguna mana pun yang datanya ingin Anda ambil.
- Klik tombol Save.
Menambahkan cakupan ke client ID
- Di panel kiri, pilih Data Access.
- Klik tombol Add or remove scopes.
- Di kolom API, telusuri "Google Health API". Untuk codelab ini, kita menggunakan cakupan
.../auth/googlehealth.activity_and_fitness.readonly - Setelah memilih cakupan, tekan tombol Update untuk kembali ke halaman Data Access.
- Klik tombol Save.
Anda telah selesai menyiapkan client ID.
3. Menambahkan data ke aplikasi seluler Fitbit
Untuk pengguna baru Fitbit, Anda mungkin tidak memiliki data di akun Fitbit untuk dikueri. Kita akan menambahkan log latihan secara manual yang dapat kita kueri melalui salah satu endpoint. Untuk merekam latihan secara manual, ikuti langkah-langkah berikut:
- Buka aplikasi seluler Fitbit di perangkat Anda. Login ke akun Fitbit Anda jika diperlukan.
- Di pojok kanan bawah layar, ketuk tombol +.
- Di bagian "Manually log", ketuk Activity
- Telusuri jenis latihan Walk , lalu pilih.
- Masukkan start time untuk hari ini.
- Ubah durasi menjadi 15 minutes.
- Biarkan jarak 1.0 mi.
- Ketuk Add.
- Sinkronkan aplikasi seluler ke server Fitbit dengan menekan lama layar dan menggesernya ke bawah. Saat Anda melepaskan jari, Anda akan melihat aplikasi seluler melakukan sinkronisasi.
- Di bagian "Activity", Anda akan melihat entri Walk yang dicatat secara manual.

4. Memberi otorisasi di OAuth 2.0 Playground
Buka OAuth 2.0 Playground.
Google Health API mengharuskan Anda menggunakan kredensial OAuth Anda sendiri dengan Playground.
- Klik ikon roda gigi OAuth 2.0 Configuration di kanan atas.
- Pilih Use your own OAuth credentials.
- Masukkan OAuth Client ID dan OAuth Client secret yang Anda dapatkan selama penyiapan project Google Cloud.
Antarmuka Playground dibagi menjadi tiga langkah utama yang akan kita ikuti:
- Memilih &memberi otorisasi API
- Menukarkan kode otorisasi dengan token
- Mengirim permintaan ke API
Memilih &memberi otorisasi API
Di sinilah Anda memilih cakupan API yang ingin Anda minta.
- Di Step 1, temukan Google Health API v4 dalam daftar API, lalu luaskan.
- Pilih
https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly. Jika cakupan yang Anda butuhkan tidak ditampilkan dalam daftar, Anda dapat memasukkannya secara manual di kolom "Input your own scopes". - Klik Authorize APIs.
- Permintaan dikirim ke endpoint otorisasi OAuth 2.0 Google, cakupan yang dipilih disertakan dalam permintaan, lalu Anda akan dialihkan ke layar izin Akun Google.
- Login dengan akun pengguna pengujian yang Anda konfigurasi di bagian Setup Google Cloud project (jika belum login).
- Tinjau izin yang diminta, lalu klik Continue untuk memberikan akses.
Saat Anda memberikan izin, Google akan mengalihkan Anda kembali ke Playground dan memberikan authorization code ke alat, yang digunakan pada langkah berikutnya.
Panel Request / Response di sebelah kanan menampilkan alur pengalihan HTTP lengkap.
Respons dari permintaan otorisasi awal adalah pengalihan 302 Found:
HTTP/1.1 302 Found
Location: https://accounts.google.com/o/oauth2/v2/auth?redirect_uri=https%3A%2F%2Fdevelopers.google.com%2Foauthplayground&prompt=consent&response_type=code&client_id=your_client_id&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgooglehealth.activity_and_fitness.readonly&access_type=offline
Permintaan yang dihasilkan dan dialihkan kembali ke Playground berisi kode otorisasi:
GET /oauthplayground/?iss=https://accounts.google.com&code=authorization_code&scope=https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly HTTP/1.1
Host: developers.google.com
Kode otorisasi adalah nilai alfanumerik yang diwakili oleh authorization_code antara code= dan &scope di URL permintaan GET. Dalam contoh ini, nilainya mirip dengan: 4/0AbPOj...
Menukarkan kode otorisasi dengan token
Pada langkah ini, kode ditukarkan dengan token yang memungkinkan Anda membuat permintaan API.
Setelah menyelesaikan Select &authorize APIs, Playground akan otomatis mengisi kolom kode otorisasi. Untuk menukarkannya dengan token:
- Klik tombol Exchange authorization code for tokens di Step 2.
- access_token dan refresh_token akan muncul di panel Request/Response di sebelah kanan.
Anda akan melihat respons yang mirip dengan:
{
"access_token": "ya29.a0AFH6S....",
"refresh_token_expires_in": 604799,
"expires_in": 3599,
"token_type": "Bearer",
"scope": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly",
"refresh_token": "1/og..."
}
Tentang token refresh
Saat Anda menukarkan kode otorisasi, respons dapat menyertakan refresh_token selain access_token. access_token memiliki masa berlaku singkat (biasanya 1 jam). Saat access_token berakhir masa berlakunya, Anda harus menggunakan refresh_token untuk mendapatkan access_token baru tanpa mengharuskan pengguna login atau memberikan izin lagi. Hal ini dapat dilakukan karena kita menyertakan access_type=offline dalam permintaan otorisasi.
Jika Anda tidak menerima refresh_token dalam respons, hal ini mungkin karena Anda telah memberikan izin untuk aplikasi dan cakupan ini. Token refresh biasanya hanya dikeluarkan saat pengguna pertama kali memberikan izin untuk aplikasi Anda, atau saat prompt=consent ditambahkan ke URL otorisasi untuk memaksa layar izin muncul bahkan pada otorisasi berikutnya.
refresh_token memiliki masa berlaku yang lama, tetapi dapat berakhir masa berlakunya atau menjadi tidak valid jika tidak digunakan selama 6 bulan, jika pengguna mencabut akses ke aplikasi Anda, atau karena alasan lain. Anda harus menyimpan refresh_token dengan aman untuk penggunaan di masa mendatang.
5. Mengirim permintaan ke API
Sekarang Anda dapat menggunakan token akses untuk membuat permintaan ke Google Health API. Di Step 3 di Playground, konfigurasi permintaan HTTP Anda dengan menentukan Request URI, HTTP Method, header, dan isi permintaan.
- Tetapkan HTTP Method ke GET.
- Tetapkan Request URI ke
https://health.googleapis.com/v4/users/me/dataTypes/exercise/dataPoints. - Klik Send the request.
Responsnya akan terlihat seperti ini:
{
"dataPoints": [
{
"name": "users/2515055256096816351/dataTypes/exercise/dataPoints/8896720705097069096",
"dataSource": {
"recordingMethod": "MANUAL",
"platform": "FITBIT"
},
"exercise": {
"interval": {
"startTime": "2026-02-23T13:10:00Z",
"startUtcOffset": "-18000s",
"endTime": "2026-02-23T13:25:00Z",
"endUtcOffset": "-18000s"
},
"exerciseType": "WALKING",
"metricsSummary": {
"caloriesKcal": 16,
"distanceMillimiters": 1609344,
"steps": "2038",
"averagePaceSecondsPerMeter": 0.55923407301360051,
"activeZoneMinutes": "0"
},
"exerciseMetadata": {},
"displayName": "Walk",
"activeDuration": "900s",
"exerciseEvents": [
{
"eventTime": "2026-02-23T13:10:00Z",
"eventUtcOffset": "-18000s",
"exerciseEventType": "START"
},
{
"eventTime": "2026-02-23T13:25:00Z",
"eventUtcOffset": "-18000s",
"exerciseEventType": "STOP"
}
],
"updateTime": "2026-02-24T01:19:22.450466Z"
}
},
{
"name": "users/2515055256096816351/dataTypes/exercise/dataPoints/5870930690409355408",
"dataSource": {
"recordingMethod": "MANUAL",
"platform": "FITBIT"
},
"exercise": {
"interval": {
"startTime": "2026-02-23T06:00:00Z",
"startUtcOffset": "-18000s",
"endTime": "2026-02-23T06:15:00Z",
"endUtcOffset": "-18000s"
},
"exerciseType": "WALKING",
"metricsSummary": {
"caloriesKcal": 17,
"distanceMillimiters": 1609344,
"steps": "2038",
"averagePaceSecondsPerMeter": 0.55923407301360051,
"averageHeartRateBeatsPerMinute": "81",
"activeZoneMinutes": "0",
"heartRateZoneDurations": {
"lightTime": "900s"
}
},
"exerciseMetadata": {},
"displayName": "Walk",
"activeDuration": "900s",
"exerciseEvents": [
{
"eventTime": "2026-02-23T06:00:00Z",
"eventUtcOffset": "-18000s",
"exerciseEventType": "START"
},
{
"eventTime": "2026-02-23T06:15:00Z",
"eventUtcOffset": "-18000s",
"exerciseEventType": "STOP"
}
],
"updateTime": "2026-02-23T08:29:39.480437Z"
}
}
],
"nextPageToken": ""
}
Banyak endpoint mendukung parameter kueri untuk pemfilteran atau penomoran halaman. Misalnya, untuk mencantumkan latihan dalam rentang waktu tertentu, ubah URI Permintaan untuk menyertakan parameter filter:
https://health.googleapis.com/v4/users/me/dataTypes/exercise/dataPoints?filter=exercise.interval.civil_start_time >= "2026-02-22T00:00:00"
Klik Send the request lagi untuk melihat hasil yang difilter.
6. Selamat
Selamat!
Anda telah menyelesaikan codelab dasar dan berhasil mempelajari cara menggunakan OAuth2 Playground untuk menguji otorisasi OAuth 2.0 dan melakukan panggilan ke endpoint Google Health API.
Semoga Anda menikmati pembuatan aplikasi yang terintegrasi dengan ekosistem Google Health API. Untuk mengetahui informasi selengkapnya, jelajahi endpoint Google Health API lainnya dalam dokumentasi referensi dan pelajari lebih lanjut Google OAuth 2.0 untuk Aplikasi Server Web.