1. บทนำ
Visual Studio Code (VS Code) และส่วนขยาย Rest Client โดย Huachao Mao ช่วยให้คุณทดสอบขั้นตอนความยินยอม OAuth ของ Google และ Google Health API ได้ Codelab นี้จะแสดงวิธีตั้งค่าส่วนขยาย Rest Client วิธีเริ่มขั้นตอนการให้สิทธิ์ และวิธีโทรครั้งแรกไปยังปลายทาง Google Health API รายการใดรายการหนึ่ง หลังจากนั้น คุณสามารถอ่านเอกสารประกอบของ REST client และเอกสารประกอบของ Fitbit เพื่อสร้างปลายทางอื่นๆ ในโปรเจ็กต์ HTTP ได้
หากไม่ต้องการใช้ VS Code และ Rest Client คุณสามารถเรียก API ได้ด้วยคำสั่ง curl
สิ่งที่คุณจะได้เรียนรู้
- วิธีตั้งค่า VS Code ด้วยส่วนขยายไคลเอ็นต์ REST
- วิธีตั้งค่ารหัสไคลเอ็นต์ภายในคอนโซล Google Cloud
- วิธีดำเนินการตามขั้นตอนการให้สิทธิ์ Google OAuth 2.0 เพื่อรับโทเค็นเพื่อการเข้าถึงและโทเค็นการรีเฟรช
- วิธีเรียกใช้ปลายทาง Google Health API โดยใช้ไคลเอ็นต์ REST
สิ่งที่คุณต้องมี
- แอป Fitbit บนมือถือ
- โค้ด Visual Studio
- ส่วนขยาย Rest Client โดย Huacho Mao
วิธีตั้งค่าแอป Fitbit บนมือถือ
- ค้นหาแอป Fitbit บนมือถือใน Apple App Store หรือ Google Play Store แล้วดาวน์โหลด
- เลือกไอคอนแอป
- คลิกลงชื่อเข้าใช้ด้วย Google
- เลือกบัญชี Google แล้วกดปุ่มดำเนินการต่อ
วิธีติดตั้งเครื่องมือ Visual Studio
- ดาวน์โหลด VS Code โดยปกติแล้ว ไฟล์ที่ดาวน์โหลดจะมีไฟล์ที่เรียกใช้งานได้
- เริ่ม VS Code
- ติดตั้งส่วนขยายไคลเอ็นต์ REST โดย Huachao Mao
- คลิกไอคอนส่วนขยาย
ทางด้านซ้ายของ IDE - ค้นหา REST Client โดย Huachao Mao แล้วกดติดตั้ง
- คลิกไอคอนส่วนขยาย
2. ตั้งค่าโปรเจ็กต์ Google Cloud
คุณจะใช้คอนโซล Google Cloud เพื่อสร้างรหัสไคลเอ็นต์และเปิดใช้ Google Health API
- ลงชื่อเข้าใช้คอนโซล Google Cloud
- วิธีสร้างโปรเจ็กต์ใหม่
- คลิกเลือกโปรเจ็กต์จากเครื่องมือเลือกโปรเจ็กต์
- เลือกโปรเจ็กต์ใหม่ที่มุมขวาบน
- ป้อนชื่อโปรเจ็กต์
- ป้อนสถานที่ตั้ง (เช่น "ไม่มีองค์กร")
- คลิกที่ปุ่มสร้าง
- เลือกโปรเจ็กต์
เปิดใช้ Google Health API
- คลิกไอคอนเมนูที่มุมซ้ายบน

- เลือก API และบริการ > ไลบรารี
- ค้นหา "Google Health API" แล้วเปิดใช้
ตั้งค่าข้อมูลเข้าสู่ระบบ OAuth
หากไม่ได้อยู่ในคอนโซล Google Cloud ให้ไปที่คอนโซล Google Cloud
- คลิกไอคอนเมนูที่มุมซ้ายบน

- เลือก API และบริการ > ข้อมูลเข้าสู่ระบบ
- เลือก + สร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth ที่ด้านบนตรงกลาง
- คลิกปุ่มกำหนดค่าหน้าจอขอความยินยอม หากข้อความ "ยังไม่ได้กำหนดค่าแพลตฟอร์ม Google Auth" ปรากฏขึ้น ให้คลิกปุ่มเริ่มต้นใช้งาน
- ในส่วนที่ 1 ให้ทำดังนี้
- ป้อนชื่อแอป
- ป้อนอีเมลสนับสนุนสำหรับผู้ใช้
- คลิกปุ่มถัดไป
- ในส่วนที่ 2
- เลือกภายนอก
- คลิกปุ่มถัดไป
- ในส่วนที่ 3
- ป้อนอีเมลในช่องข้อมูลติดต่อ
- คลิกปุ่มถัดไป
- ในส่วนที่ 4
- คลิกช่องทําเครื่องหมายเพื่อยอมรับนโยบายข้อมูลผู้ใช้ของบริการ API ของ Google
- คลิกที่ปุ่มสร้าง
- ในส่วนเมตริก ให้กดปุ่มสร้างไคลเอ็นต์ OAuth
- เลือกประเภทแอปพลิเคชันเป็นเว็บแอปพลิเคชัน
- ป้อนชื่อรหัสไคลเอ็นต์
- เว้นว่างต้นทางของ JavaScript ที่ได้รับอนุญาต
- ในส่วน URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต ให้กดปุ่ม + เพิ่ม URI ป้อน "https://www.google.com" เป็น URI การเปลี่ยนเส้นทาง
- คลิกที่ปุ่มสร้าง
- Google Console จะแสดงข้อความว่าสร้างรหัสไคลเอ็นต์แล้ว คลิกลิงก์ดาวน์โหลด JSON เพื่อดาวน์โหลดรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ หรือจดค่าไว้ คุณจะกู้คืนข้อมูลลับของไคลเอ็นต์ในภายหลังไม่ได้
- คลิกตกลง คุณจะกลับไปที่หน้า "รหัสไคลเอ็นต์ OAuth 2.0"
- ระบบจะเพิ่มรหัสไคลเอ็นต์ลงในโปรเจ็กต์ คลิก URL รหัสไคลเอ็นต์เพื่อดูรายละเอียด
เพิ่มผู้ใช้ทดสอบ
- เลือกกลุ่มเป้าหมายในแผงด้านซ้าย คุณควรเห็น "สถานะการเผยแพร่" ตั้งค่าเป็นการทดสอบ และ "ประเภทผู้ใช้" ตั้งค่าเป็นภายนอก
- ในส่วน "ผู้ใช้ทดสอบ" ให้คลิกปุ่ม + เพิ่มผู้ใช้ ป้อนอีเมลของผู้ใช้ที่คุณต้องการดึงข้อมูล
- คลิกปุ่มบันทึก
เพิ่มขอบเขตไปยังรหัสไคลเอ็นต์
- เลือกการเข้าถึงข้อมูลในแผงด้านซ้าย
- คลิกปุ่มเพิ่มหรือนำขอบเขตออก
- ในคอลัมน์ API ให้ค้นหา "Google Health API" สำหรับ Codelab นี้ เราจะใช้ขอบเขต
.../auth/googlehealth.activity_and_fitness.readonly - หลังจากเลือกขอบเขตแล้ว ให้กดปุ่มอัปเดตเพื่อกลับไปที่หน้าการเข้าถึงข้อมูล
- คลิกปุ่มบันทึก
คุณตั้งค่ารหัสไคลเอ็นต์เสร็จแล้ว
3. สร้างโฟลว์การให้สิทธิ์
- เปิดแอป VS Code ในเครื่อง
- เลือกเปิดในหน้าจอต้อนรับ
- เลือกโฟลเดอร์เพื่อสร้างโปรเจ็กต์นี้ แล้วกดเปิด หน้าจอควรมีลักษณะคล้ายกับภาพนี้ ซึ่งแสดงชื่อโฟลเดอร์หรือโปรเจ็กต์ใน Explorer

- จากเมนูหลัก ให้เลือกไฟล์ -> ไฟล์ข้อความใหม่
- บันทึกไฟล์เพื่อตั้งชื่อ จากเมนูหลัก ให้เลือก File -> Save As -> Codelab.http ซึ่งจะวางไฟล์ไว้ในโปรเจ็กต์ นามสกุลของไฟล์ต้องเป็น .http หรือ .rest สำหรับ Codelab นี้ เราจะใช้ .http
ตลอดโปรเจ็กต์นี้ เราจะใช้ค่าหลายค่าหลายครั้ง ค่าเหล่านั้นมีดังนี้
| ค่ารหัสไคลเอ็นต์จากคอนโซล Google |
| ค่าลับของไคลเอ็นต์จากคอนโซล Google |
| ปลายทางในแอปที่ประมวลผลรหัสการให้สิทธิ์ สำหรับ Codelab นี้ เราจะใช้ https://www.google.com |
| โทเค็นเพื่อการเข้าถึงที่สร้างขึ้นสำหรับผู้ใช้เมื่อโฟลว์ความยินยอมเสร็จสิ้น |
| โทเค็นการรีเฟรชที่สร้างขึ้นสำหรับผู้ใช้เมื่อโฟลว์ความยินยอมเสร็จสิ้น |
เพิ่มโค้ดต่อไปนี้ซึ่งกำหนดตัวแปรที่ใช้กับโปรเจ็กต์นี้ โดยควรอยู่ที่ด้านบนของไฟล์ Codelab.http กรอกค่าสำหรับ client_id และ 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 การให้สิทธิ์ซึ่งใช้เพื่อเริ่มโฟลว์ความยินยอมไปยังผู้ใช้แต่ละรายที่คุณต้องการเข้าถึงข้อมูล หากต้องการสร้าง URL การให้สิทธิ์ เราต้องทราบว่าปลายทาง OAuth ของ Google คืออะไร และใช้พารามิเตอร์การค้นหาเพื่อระบุรหัสไคลเอ็นต์ ขอบเขตที่เราต้องการเข้าถึง และตำแหน่งที่จะเปลี่ยนเส้นทางผู้ใช้เมื่อผู้ใช้ยินยอมให้เข้าถึงขอบเขต ดูเอกสารประกอบทั้งหมดสำหรับการสร้างสตริงการให้สิทธิ์ของ Google ได้ในเอกสารประกอบ
ปลายทาง OAuth 2.0 ของ Google อยู่ที่ https://accounts.google.com/o/oauth2/v2/auth เข้าถึงปลายทางนี้ได้ผ่าน HTTPS เท่านั้น ระบบจะปฏิเสธการเชื่อมต่อ HTTP ที่ไม่มีการเข้ารหัส
เซิร์ฟเวอร์การให้สิทธิ์ของ Google รองรับพารามิเตอร์สตริงการค้นหาหลายรายการสำหรับแอปพลิเคชันเว็บเซิร์ฟเวอร์เพื่อปรับแต่งขั้นตอนการให้สิทธิ์ เราจะใช้พารามิเตอร์การค้นหาที่ต้องระบุต่อไปนี้ client_id, redirect_uri, response_type และ scope เอกสารประกอบมีรายการพารามิเตอร์การค้นหาทั้งหมดและคำอธิบาย
ค่าสำหรับพารามิเตอร์การค้นหาคือ
| ค่า Client-ID จากคอนโซล Google |
| ปลายทางในแอปที่ประมวลผลรหัสการให้สิทธิ์ สำหรับ Codelab ให้ใช้ https://www.google.com |
|
|
| ขอบเขตมาจากคอนโซลของ Google โดยมีไวยากรณ์ https://www.googleapis.com ตามด้วยชื่อขอบเขต เช่น https://www.googleapis.com/auth/googlehealth.activity_and_fitness |
หลังจากตัวแปร ให้เขียน URL การให้สิทธิ์ของเราตามที่แสดง ใช้พารามิเตอร์ที่กำหนดไว้ที่ด้านบนของโปรเจ็กต์ในสตริงการให้สิทธิ์ไม่ได้ ดังนั้น เราจึงต้องรวมค่าสำหรับ client_id และ redirect_uri แทนที่สตริง client-id ด้วยรหัสไคลเอ็นต์
### 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
เมื่อผู้ใช้ให้ความยินยอม Google จะให้รหัสการให้สิทธิ์ที่คุณแลกเปลี่ยนเป็นโทเค็นเพื่อการเข้าถึงได้โดยการเรียกใช้ปลายทางโทเค็นของ Google เพิ่มคำจำกัดความต่อไปนี้สำหรับการเรียกปลายทางของโทเค็นไปยัง Codelab.http ใต้สตริงการให้สิทธิ์ คุณจะแทนที่ authorization-code ด้วยรหัสการให้สิทธิ์ในขั้นตอนถัดไป
### 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 อ้างอิงถึงผู้ใช้ปัจจุบันที่คุณกำลังเข้าถึงข้อมูล
4. ให้สิทธิ์บัญชีและรับโทเค็น
ตอนนี้เราจะมาดูขั้นตอนการให้สิทธิ์เพื่อรับโทเค็นการให้สิทธิ์
ระบบจะใช้สตริงการให้สิทธิ์ใน Codelab.http เพื่อเริ่มขั้นตอนการขอความยินยอมในเบราว์เซอร์ของ Google ส่วนขยาย Rest Client อาจแสดงลิงก์ส่งคำขอสำหรับ URL นี้ อย่าใช้ส่งคำขอสำหรับ URL นี้ ให้คัดลอกและวางลงในเบราว์เซอร์แทน หรือใช้ Ctrl+คลิก (Windows/Linux) หรือ Cmd+คลิก (Mac) ใน VS Code เพื่อเปิดในเบราว์เซอร์เริ่มต้น
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
- ระบบจะขอให้คุณลงชื่อเข้าใช้บัญชี Google คุณต้องลงชื่อเข้าใช้โดยใช้บัญชีผู้ใช้ทดสอบบัญชีใดบัญชีหนึ่งที่คุณกำหนดค่าไว้ในส่วนเพิ่มผู้ใช้ทดสอบ
- คุณอาจเห็นข้อความที่ระบุว่าแอปไม่ได้รับการยืนยัน เนื่องจากแอปยังไม่ได้เผยแพร่ กด "ดำเนินการต่อ"

- หน้าความยินยอมจะแสดงขอบเขตที่ขอ ผู้ใช้จะมีโอกาสเลือกขอบเขตที่ต้องการแชร์กับแอปนี้ คลิก "ต่อไป"
หลังจากยินยอมให้แชร์ขอบเขตที่ขอแล้ว ระบบจะนำคุณไปยัง redirect_uri ที่คุณระบุ (ใน Codelab นี้คือ https://www.google.com) แอป Google จะต่อท้ายรหัสการให้สิทธิ์และพารามิเตอร์อื่นๆ ไปยัง redirect_uri ดังนั้น URL ในแถบที่อยู่ของเบราว์เซอร์ควรมีลักษณะดังนี้
https://www.google.com/?code=4/0Ab32j93oyGWqaXE112sP1IKmh3kV1fE4tcHIMXYJQYWgNEtAa_0-YsfkS9Ekj3Be89u3fw&scope=https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly
รหัสการให้สิทธิ์คือค่าที่เป็นตัวอักษรและตัวเลขคละกันระหว่าง "code=" กับ "&scope" ในตัวอย่างด้านบน ค่าจะเป็นดังนี้
4/0Ab32j93oyGWqaXE112sP1IKmh3kV1fE4tcHIMXYJQYWgNEtAa_0-YsfkS9Ekj3Be89u3fw
ในแอปเวอร์ชันที่ใช้งานจริง เซิร์ฟเวอร์จะแยกวิเคราะห์ข้อมูลนี้จากพารามิเตอร์ URL สำหรับ Codelab นี้ ให้คัดลอกรหัสการให้สิทธิ์จาก URL ในเบราว์เซอร์
ตอนนี้ให้แลกรหัสการให้สิทธิ์นี้เป็น access_token และ refresh_token ใน Codelab.http ให้แทนที่ authorization-code ในเนื้อหาคำขอ POST /token ด้วยรหัสการให้สิทธิ์ที่คุณคัดลอกไว้
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
คลิกลิงก์ส่งคำขอเหนือบรรทัด POST https://oauth2.googleapis.com/token
คำตอบควรมีลักษณะคล้ายกับตัวอย่างต่อไปนี้
{
"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
}
เมื่อคุณได้รับการตอบกลับนี้ Rest Client จะป้อนค่าตัวแปร @accessToken และ @refreshToken ที่กำหนดไว้ที่ด้านบนของ Codelab.http โดยอัตโนมัติเพื่อใช้ในคำขอที่ตามมา
เกี่ยวกับโทเค็นการรีเฟรช
เมื่อแลกเปลี่ยนรหัสการให้สิทธิ์ คำตอบอาจมี refresh_token นอกเหนือจาก access_token access_token มีอายุสั้น (โดยปกติคือ 1 ชั่วโมง) เมื่อ access_token หมดอายุ คุณต้องใช้ refresh_token เพื่อรับ access_token ใหม่โดยไม่ต้องให้ผู้ใช้ลงชื่อเข้าใช้หรือให้ความยินยอมอีกครั้ง เราทำเช่นนี้ได้เนื่องจากได้รวม access_type=offline ไว้ในคำขอการให้สิทธิ์
หากไม่ได้รับ refresh_token ในการตอบกลับ อาจเป็นเพราะคุณได้ให้ความยินยอมสำหรับแอปและขอบเขตนี้แล้ว โดยปกติแล้ว ระบบจะออกโทเค็นการรีเฟรชเมื่อผู้ใช้ให้ความยินยอมสำหรับแอปของคุณเป็นครั้งแรกเท่านั้น หรือเมื่อมีการเพิ่ม prompt=consent ลงใน URL การให้สิทธิ์เพื่อบังคับให้หน้าจอขอความยินยอมปรากฏขึ้นแม้ในการให้สิทธิ์ครั้งต่อๆ ไป
refresh_tokenมีอายุการใช้งานยาวนาน แต่จะหมดอายุหรือใช้ไม่ได้หากไม่มีการใช้งานเป็นเวลา 6 เดือน หากผู้ใช้เพิกถอนสิทธิ์เข้าถึงแอปของคุณ หรือด้วยเหตุผลอื่นๆ คุณควรจัดเก็บ refresh_token อย่างปลอดภัยเพื่อใช้ในอนาคต
โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อการรีเฟรชโทเค็นเพื่อการเข้าถึง (การเข้าถึงแบบออฟไลน์)
5. เพิ่มข้อมูลลงในแอป Fitbit บนมือถือ
สำหรับผู้ใช้ Fitbit ใหม่ คุณอาจไม่มีข้อมูลในบัญชี Fitbit ที่จะค้นหา เราจะเพิ่มบันทึกการออกกำลังกายด้วยตนเอง ซึ่งเราจะค้นหาผ่านปลายทางใดปลายทางหนึ่งได้ หากต้องการบันทึกการออกกำลังกายด้วยตนเอง ให้ทำตามขั้นตอนต่อไปนี้
- เปิดแอป Fitbit บนมือถือบนอุปกรณ์ของคุณ ลงชื่อเข้าใช้บัญชี Fitbit หากจำเป็น
- แตะปุ่ม + ที่มุมขวาล่างของหน้าจอ
- ในส่วน "บันทึกด้วยตนเอง" ให้แตะกิจกรรม
- ค้นหาประเภทการออกกำลังกายเดิน แล้วเลือก
- ป้อนเวลาเริ่มต้นของวันนี้
- เปลี่ยนระยะเวลาเป็น 15 นาที
- เว้นระยะห่าง 1.0 ไมล์
- แตะเพิ่ม
- ซิงค์แอปบนอุปกรณ์เคลื่อนที่กับเซิร์ฟเวอร์ Fitbit โดยกดที่หน้าจอค้างไว้แล้วเลื่อนลง เมื่อปล่อยนิ้ว คุณควรเห็นว่าแอปบนอุปกรณ์เคลื่อนที่ซิงค์แล้ว
- ในส่วน "กิจกรรม" คุณควรเห็นรายการการเดินที่บันทึกด้วยตนเอง

6. ดึงข้อมูลโดยใช้วิธีการ list
หากต้องการเรียกใช้เมธอด list ให้เพิ่มโค้ดต่อไปนี้ลงใน Codelab.http ใต้ปลายทาง /token
### users.dataTypes.dataPoints
#####################################################
### LIST exercise
GET https://health.googleapis.com/v4/users/me/dataTypes/exercise/dataPoints
Authorization: Bearer {{accessToken}}
Accept: application/json
โค้ดนี้เรียกใช้ปลายทาง list เพื่อแสดงขั้นตอนที่ผู้ใช้บันทึกไว้ในบัญชี Fitbit ระบบจะแสดงจำนวนก้าวในแต่ละนาทีในการตอบกลับ ซึ่งคล้ายกับปลายทางกิจกรรมระหว่างวันของ Fitbit Web API v1
หากต้องการดำเนินการโทร ให้กดลิงก์ส่งคำขอสำหรับปลายทาง GET คำตอบของคุณควรมีลักษณะคล้ายกับคำตอบต่อไปนี้
{
"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": ""
}
ปลายทางหลายรายการรองรับพารามิเตอร์การค้นหาสำหรับการกรองหรือการแบ่งหน้า เช่น การออกกำลังกายรองรับตัวกรอง interval.civil_start_time เพิ่มคำขอต่อไปนี้ไปยัง Codelab.http เพื่อแสดงรายการการออกกำลังกายภายในช่วงเวลาที่เฉพาะเจาะจง
### 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. ขอแสดงความยินดี
ยินดีด้วย
คุณได้ทำ Codelab พื้นฐานเสร็จสมบูรณ์แล้ว และได้เรียนรู้วิธีใช้ Visual Studio Code และส่วนขยาย Rest Client เพื่อทดสอบการให้สิทธิ์ OAuth 2.0 และทำการเรียกไปยังปลายทางของ Google Health API จากนั้นคุณจะเพิ่มปลายทางอื่นๆ ได้เช่นเดียวกับที่ทำในช่วงต้นของส่วนดึงข้อมูลโดยใช้วิธี List
เราหวังว่าคุณจะสนุกกับการสร้างแอปที่ผสานรวมกับระบบนิเวศของ Google Health API ดูข้อมูลเพิ่มเติมได้ที่ปลายทางอื่นๆ ของ Google Health API ในเอกสารอ้างอิง และดูข้อมูลเพิ่มเติมเกี่ยวกับ Google OAuth 2.0 สำหรับแอปพลิเคชันเว็บเซิร์ฟเวอร์