1. Pengantar
Visual Studio Code (VS Code) dan ekstensi Rest Client oleh Huachao Mao dapat memungkinkan Anda menguji alur izin Google OAuth dan Google Health API. Codelab ini akan menunjukkan cara menyiapkan ekstensi Rest Client, cara memulai alur otorisasi, dan melakukan panggilan pertama ke salah satu endpoint Google Health API. Setelah itu, Anda dapat membaca dokumentasi Rest Client dan dokumentasi Fitbit untuk membuat endpoint lainnya dalam project HTTP Anda.
Jika Anda tidak ingin menggunakan VS Code dan Rest Client, panggilan API dapat dilakukan dengan perintah curl.
Yang akan Anda pelajari
- Cara menyiapkan VS Code dengan ekstensi Rest client.
- Cara menyiapkan client ID dalam konsol Google Cloud.
- Cara melewati alur otorisasi Google OAuth 2.0 untuk mendapatkan token akses dan token refresh.
- Cara melakukan panggilan ke endpoint Google Health API menggunakan klien Rest.
Yang Anda butuhkan
- Aplikasi seluler Fitbit
- Kode Visual Studio
- Ekstensi Rest Client oleh Huacho Mao.
Untuk menyiapkan aplikasi seluler Fitbit:
- Di Apple App Store atau Google Play Store, telusuri aplikasi seluler Fitbit dan download.
- Pilih ikon aplikasi.
- Klik Login dengan Google.
- Pilih Akun Google Anda, lalu tekan tombol Lanjutkan.
Untuk menginstal alat Visual Studio:
- Download VS Code. Biasanya, hasil download berisi file yang dapat dieksekusi.
- Mulai VS Code.
- Instal ekstensi Rest Client oleh Huachao Mao.
- Klik ikon ekstensi
di sisi kiri IDE. - Telusuri REST Client by Huachao Mao, lalu tekan Install.
- Klik ikon ekstensi
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 Pilih project dari pemilih project.
- Di pojok kanan atas, pilih Project Baru.
- Masukkan Nama project Anda.
- Masukkan Lokasi Anda (misalnya, "Tidak ada organisasi").
- Klik tombol Buat.
- Pilih project Anda.
Mengaktifkan Google Health API
- Di sudut kiri atas, klik ikon menu:

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

- Pilih API & Layanan > Kredensial.
- Di bagian tengah atas, pilih + Create Credentials > OAuth client ID.
- Klik tombol Konfigurasi layar izin. Jika pesan "Google Auth Platform not configured yet" muncul, klik tombol Get Started.
- Di bagian 1:
- Masukkan Nama aplikasi.
- Masukkan Email dukungan pengguna.
- Klik tombol Berikutnya.
- Di bagian 2:
- Pilih Eksternal.
- Klik tombol Berikutnya.
- Di bagian 3:
- Masukkan alamat email Anda di kolom Informasi Kontak.
- Klik tombol Berikutnya.
- Di bagian 4:
- Klik kotak centang untuk menyetujui Kebijakan Data Pengguna Layanan API Google.
- Klik tombol Buat.
- Di bagian metrik, tekan tombol Buat klien OAuth.
- Pilih jenis aplikasi Web Application.
- Masukkan nama ID klien.
- Kosongkan Authorized JavaScript origins.
- Di bagian URI pengalihan yang sah, tekan tombol + Tambahkan URI. Masukkan "https://www.google.com" sebagai URI pengalihan Anda.
- Klik tombol Buat.
- Konsol Google akan menampilkan pesan bahwa client ID Anda telah dibuat. Klik link Download JSON untuk mendownload client ID dan client secret, atau catat nilainya. Anda tidak akan dapat memulihkan rahasia klien Anda setelahnya.
- Klik Oke. Anda akan kembali ke halaman "OAuth 2.0 Client IDs".
- ID klien Anda akan ditambahkan ke project Anda. Klik URL ID klien untuk melihat detailnya.
Menambahkan pengguna pengujian
- Di panel kiri, pilih Audiens. Anda akan melihat "Status publikasi" disetel ke Pengujian, dan "Jenis pengguna" disetel ke Eksternal.
- Di bagian "Pengguna pengujian", klik tombol + Tambahkan pengguna. Masukkan alamat email pengguna yang datanya ingin Anda ambil.
- Klik tombol Simpan.
Tambahkan cakupan ke ID klien
- Di panel kiri, pilih Akses Data.
- Klik tombol Tambahkan atau hapus cakupan.
- Di kolom API, telusuri "Google Health API". Untuk codelab ini, kita menggunakan cakupan
.../auth/googlehealth.activity_and_fitness.readonly - Setelah memilih cakupan, tekan tombol Perbarui untuk kembali ke halaman Akses Data.
- Klik tombol Simpan.
Anda telah selesai menyiapkan client ID.
3. Membuat alur otorisasi
- Buka aplikasi VS Code di komputer Anda.
- Di layar Selamat Datang, pilih Buka.
- Pilih folder untuk membuat project ini, lalu tekan Open. Layar Anda akan terlihat seperti ini, yang menampilkan nama folder atau project Anda di Explorer.

- Dari menu utama, pilih File -> New Text file.
- Simpan file untuk memberinya nama. Dari menu utama, pilih File -> Save As -> Codelab.http. Tindakan ini akan menempatkan file di project Anda. Ekstensi file harus berupa .http atau .rest. Untuk codelab ini, kita menggunakan .http.
Selama project ini, kita akan menggunakan beberapa nilai berkali-kali. Nilai tersebut adalah:
| Nilai client ID dari konsol Google. |
| Nilai rahasia klien dari konsol Google. |
| Endpoint di aplikasi Anda yang memproses kode otorisasi. Untuk codelab ini, kita menggunakan https://www.google.com |
| Token akses yang dibuat untuk pengguna setelah alur izin selesai. |
| Token refresh yang dibuat untuk pengguna setelah alur izin selesai. |
Tambahkan kode berikut yang menentukan variabel yang digunakan dengan project ini. File tersebut harus berada di bagian atas Codelab.http. Isi nilai untuk client_id dan secret.
### File Variables for the Codelab
@client_id =
@secret =
@redirect_uri = https://www.google.com
@accessToken={{user.response.body.access_token}}
@refreshToken={{user.response.body.refresh_token}}
URL otorisasi, yang digunakan untuk memulai alur izin, akan dikirim ke setiap pengguna yang datanya ingin Anda akses. Untuk membuat URL otorisasi, kita perlu mengetahui endpoint Google OAuth dan menggunakan parameter kueri untuk menentukan ID klien, cakupan yang ingin kita akses, dan ke mana pengguna akan dialihkan saat mereka menyetujui cakupan. Dokumentasi lengkap untuk membuat string otorisasi Google dapat ditemukan di dokumentasi.
Endpoint OAuth 2.0 Google ada di https://accounts.google.com/o/oauth2/v2/auth. Endpoint ini hanya dapat diakses melalui HTTPS. Koneksi HTTP biasa ditolak.
Server otorisasi Google mendukung banyak parameter string kueri untuk aplikasi server web guna menyesuaikan alur otorisasi. Kita akan menggunakan parameter kueri wajib berikut: client_id, redirect_uri, response_type, dan scope. Dokumentasi ini menyediakan daftar semua parameter kueri dan deskripsinya.
Nilai untuk parameter kueri adalah
| Nilai client ID dari konsol Google |
| Endpoint di aplikasi Anda yang memproses kode otorisasi. Untuk codelab, gunakan https://www.google.com |
|
|
| Cakupan berasal dari konsol Google dengan sintaksis https://www.googleapis.com diikuti dengan nama cakupan. Misalnya, https://www.googleapis.com/auth/googlehealth.activity_and_fitness. |
Setelah variabel, tulis URL otorisasi seperti yang ditunjukkan. Parameter yang ditentukan di bagian atas project tidak dapat digunakan dalam string otorisasi. Oleh karena itu, kita perlu menyertakan nilai untuk client_id dan redirect_uri. Ganti string client-id dengan client ID Anda.
### Google Health API Rest Client Example
### Authorization String
https://accounts.google.com/o/oauth2/v2/auth?client_id=client-id&redirect_uri=https://www.google.com&response_type=code&access_type=offline&scope=https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly
Saat pengguna memberikan izin, Google akan memberikan kode otorisasi yang Anda tukarkan dengan token akses dengan memanggil endpoint token Google. Tambahkan definisi berikut untuk memanggil endpoint token ke Codelab.http di bawah string otorisasi. Anda akan mengganti authorization-code dengan kode otorisasi pada langkah berikutnya.
### AUTHORIZATION ENDPOINTS
######################################################################
# @name user
POST https://oauth2.googleapis.com/token
Content-Type: application/x-www-form-urlencoded
code=authorization-code&client_id={{clientId}}&client_secret={{secret}}&redirect_uri={{redirect_uri}}&grant_type=authorization_code
@name user merujuk pada pengguna saat ini yang datanya Anda akses.
4. Memberikan otorisasi akun dan mendapatkan token
Sekarang kita akan membahas alur otorisasi untuk mendapatkan token otorisasi.
String otorisasi di Codelab.http digunakan untuk memulai alur izin berbasis browser Google. Ekstensi Rest Client dapat menampilkan link Send Request untuk URL ini. Jangan gunakan Kirim Permintaan untuk URL tertentu ini. Sebagai gantinya, salin dan tempel ke browser Anda, atau gunakan Ctrl+Klik (Windows/Linux) atau Cmd+Klik (Mac) di VS Code untuk membukanya di browser default Anda.
https://accounts.google.com/o/oauth2/v2/auth?client_id=client-id&redirect_uri=https://www.google.com&response_type=code&access_type=offline&scope=https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly
- Anda akan diminta untuk login ke Akun Google Anda. Anda harus login menggunakan salah satu akun pengguna uji coba yang Anda konfigurasi di bagian Tambahkan pengguna uji coba.
- Anda mungkin melihat pesan yang menyatakan bahwa aplikasi tidak diverifikasi. Hal ini karena aplikasi belum dipublikasikan. Tekan "Lanjutkan".

- Halaman izin mencantumkan cakupan yang diminta. Pengguna memiliki kesempatan untuk memilih cakupan mana pun yang ingin mereka bagikan ke aplikasi ini. Klik "Lanjutkan".
Setelah menyetujui untuk membagikan cakupan yang diminta, Anda akan dialihkan ke redirect_uri yang Anda tentukan (dalam codelab ini, https://www.google.com). Google menambahkan kode otorisasi dan parameter lainnya ke redirect_uri, sehingga URL di kolom URL browser Anda akan terlihat seperti ini:
https://www.google.com/?code=4/0Ab32j93oyGWqaXE112sP1IKmh3kV1fE4tcHIMXYJQYWgNEtAa_0-YsfkS9Ekj3Be89u3fw&scope=https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly
Kode otorisasi adalah nilai alfanumerik antara "code=" dan "&scope". Dalam contoh di atas, nilainya adalah:
4/0Ab32j93oyGWqaXE112sP1IKmh3kV1fE4tcHIMXYJQYWgNEtAa_0-YsfkS9Ekj3Be89u3fw
Di aplikasi produksi, server Anda akan menguraikannya dari parameter URL. Untuk codelab ini, salin kode otorisasi dari URL di browser Anda.
Sekarang, tukarkan kode otorisasi ini dengan access_token dan refresh_token. Di Codelab.http, ganti authorization-code di isi permintaan POST /token dengan kode otorisasi yang Anda salin.
POST https://oauth2.googleapis.com/token
Content-Type: application/x-www-form-urlencoded
code=authorization-code&client_id={{client_id}}&client_secret={{secret}}&redirect_uri={{redirect_uri}}&grant_type=authorization_code
Klik link Kirim Permintaan tepat di atas baris POST https://oauth2.googleapis.com/token.
Responsnya akan terlihat seperti ini:
{
"access_token": "ya29.a0ATi6K2uasci7FyyIClNLtQou6z...",
"expires_in": 3599,
"refresh_token": "1//05EuqYpEXjJCHCgYIA...",
"scope": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness",
"token_type": "Bearer",
"refresh_token_expires_in": 604799
}
Saat Anda menerima respons ini, Rest Client akan otomatis mengisi variabel @accessToken dan @refreshToken yang ditentukan di bagian atas Codelab.http untuk digunakan dalam permintaan berikutnya.
Tentang token refresh
Saat Anda menukar kode otorisasi, respons dapat menyertakan refresh_token selain access_token. access_token bersifat sementara (biasanya 1 jam). Saat access_token berakhir, Anda harus menggunakan refresh_token untuk mendapatkan access_token baru tanpa mengharuskan pengguna login atau memberikan izin lagi. Hal ini dimungkinkan karena kami menyertakan access_type=offline dalam permintaan otorisasi kami.
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 pertama kali pengguna memberikan izin untuk aplikasi Anda, atau saat prompt=consent ditambahkan ke URL otorisasi untuk memaksa layar izin muncul meskipun pada otorisasi berikutnya.
refresh_token memiliki masa berlaku yang lama, tetapi dapat berakhir 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.
Untuk mengetahui detail selengkapnya, lihat Memperbarui token akses (akses offline).
5. Menambahkan data ke aplikasi seluler Fitbit
Untuk pengguna baru Fitbit, Anda mungkin tidak memiliki data di akun Fitbit Anda untuk dikueri. Kita akan menambahkan log latihan secara manual yang dapat kita kueri melalui salah satu endpoint. Untuk mencatat latihan fisik secara manual, ikuti langkah-langkah berikut:
- Buka aplikasi seluler Fitbit di perangkat Anda. Login ke akun Fitbit Anda jika perlu.
- Di pojok kanan bawah layar, ketuk tombol +.
- Di bagian "Log manual", ketuk Aktivitas
- Telusuri jenis latihan Berjalan dan pilih.
- Masukkan waktu mulai untuk hari ini.
- Ubah durasi menjadi 15 menit.
- Biarkan jarak 1,0 mil.
- Ketuk Tambahkan.
- Sinkronkan aplikasi seluler ke server Fitbit dengan menekan lama layar dan menggesernya ke bawah. Saat Anda melepaskan jari, Anda akan melihat sinkronisasi aplikasi seluler.
- Di bagian "Aktivitas", Anda akan melihat entri Jalan yang dicatat secara manual.

6. Mengambil data menggunakan metode list
Untuk memanggil metode list, tambahkan kode berikut ke Codelab.http, tepat di bawah endpoint /token.
### users.dataTypes.dataPoints
#####################################################
### LIST exercise
GET https://health.googleapis.com/v4/users/me/dataTypes/exercise/dataPoints
Authorization: Bearer {{accessToken}}
Accept: application/json
Kode ini memanggil endpoint list untuk menampilkan langkah-langkah yang direkam oleh pengguna di akun Fitbit-nya. Jumlah langkah untuk setiap menit akan ditampilkan dalam respons, mirip dengan endpoint Aktivitas Intraday Fitbit Web API v1.
Untuk mengeksekusi panggilan, tekan link Send Request untuk endpoint GET. Respons Anda 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, latihan mendukung filter interval.civil_start_time. Tambahkan permintaan berikut ke Codelab.http untuk mencantumkan latihan dalam rentang waktu tertentu:
### LIST exercise >= civil start time
GET https://health.googleapis.com/v4/users/me/dataTypes/exercise/dataPoints?filter=exercise.interval.civil_start_time >= "2026-02-22T00:00:00"
Authorization: Bearer {{accessToken}}
Accept: application/json
7. Selamat
Selamat!
Anda telah menyelesaikan codelab dasar dan berhasil mempelajari cara menggunakan Visual Studio Code dan ekstensi Rest Client untuk menguji otorisasi OAuth 2.0 dan melakukan panggilan ke endpoint Google Health API. Dari sini, Anda dapat menambahkan endpoint tambahan seperti yang Anda lakukan di awal bagian Mengambil Data menggunakan metode List.
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.