เราให้สิทธิ์เข้าถึง Google Health API ผ่าน Google Cloud คุณจะต้องมีโปรเจ็กต์ Google Cloud เพื่อเปิดใช้ API และให้สิทธิ์บัญชี Google
ไม่ว่าคุณจะเป็นนักพัฒนาแอป Fitbit API ที่มีอยู่แล้วหรือเพิ่งเริ่มใช้ Google Health API คุณจะต้องทำตามขั้นตอนนี้ให้เสร็จสมบูรณ์เพื่อเรียกใช้ API ได้
สร้างโปรเจ็กต์และไคลเอ็นต์ OAuth
ใช้ปุ่มเปิดใช้ API และรับรหัสไคลเอ็นต์ OAuth 2.0 เพื่อเปิดใช้ Google Health API และรับรหัสไคลเอ็นต์ OAuth 2.0 โดยทำดังนี้
- หากคุณมีโปรเจ็กต์ Google Cloud ที่ต้องการใช้กับ Google Health API โปรดตรวจสอบว่าคุณได้เข้าสู่ระบบบัญชีผู้ดูแลระบบของโปรเจ็กต์นั้นแล้ว จากนั้นเลือกโปรเจ็กต์ที่มีอยู่จากรายการโปรเจ็กต์ที่พร้อมใช้งานหลังจากคลิกปุ่ม หรือสร้างโปรเจ็กต์ใหม่
- เลือกเว็บเซิร์ฟเวอร์ เมื่อระบบถามว่า "คุณเรียกใช้จากที่ใด"
- ป้อน https://www.google.com เป็นค่าสำหรับURI เปลี่ยนเส้นทางที่ได้รับอนุญาต คุณต้องระบุ URI เปลี่ยนเส้นทางเพื่อรับรหัสการให้สิทธิ์โดยใช้ OAuth 2.0
- เมื่อตั้งค่าเสร็จแล้ว ให้คัดลอกค่ารหัสไคลเอ็นต์และข้อมูลลับของไคลเอ็นต์ OAuth 2.0 แล้วดาวน์โหลดข้อมูลเข้าสู่ระบบ JSON ลงในเครื่องของคุณ
หากต้องการตั้งค่าโปรเจ็กต์ Google Cloud ด้วยตนเอง หรือตรวจสอบการตั้งค่าและดึงข้อมูลเข้าสู่ระบบอีกครั้ง ให้ทำดังนี้
- เปิดใช้ Google Health API ในหน้า การเปิดใช้ API
- รับรหัสไคลเอ็นต์ OAuth 2.0 ในหน้า ข้อมูลเข้าสู่ระบบ
ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่า OAuth 2.0 โดยใช้คอนโซล Google ได้ที่ การใช้ OAuth 2.0 เพื่อเข้าถึง Google API
เพิ่มผู้ใช้ทดสอบ
โดยค่าเริ่มต้น ไคลเอ็นต์ OAuth ที่สร้างขึ้นใหม่จะอยู่ในสถานะไม่ผ่านการตรวจสอบและมีผู้ใช้ได้สูงสุด 100 รายสำหรับการทดสอบและการใช้งานจริง หากต้องการเปิดใช้การให้สิทธิ์ในช่วงนี้ คุณต้องเพิ่มอีเมลของผู้ใช้แต่ละรายลงในรายการผู้ใช้ทดสอบในการกำหนดค่าโปรเจ็กต์ด้วยตนเอง
อัปเดตรายชื่อผู้ใช้ทดสอบในหน้า กลุ่มเป้าหมาย โดยทำดังนี้
- ในหน้านี้ คุณควรเห็น "สถานะการเผยแพร่" ตั้งค่าเป็น การทดสอบ และ "ประเภทผู้ใช้" ตั้งค่าเป็น ภายนอก
- ในส่วน "ผู้ใช้ทดสอบ" ให้คลิก + เพิ่มผู้ใช้ ป้อนอีเมลของผู้ใช้ทดสอบที่ควรได้รับอนุญาตให้ให้สิทธิ์แอปในการเข้าถึงข้อมูลสุขภาพ
- คลิกบันทึก
การรองรับผู้ใช้มากกว่า 100 รายด้วย Google Health API ต้องดำเนินการตรวจสอบความปลอดภัยของบุคคลที่สามให้เสร็จสมบูรณ์ ดูข้อมูลเพิ่มเติมได้ในศูนย์ช่วยเหลือเกี่ยวกับการตรวจสอบแอป OAuth App
เพิ่มขอบเขต
คุณต้องระบุขอบเขตที่ไคลเอ็นต์ได้รับอนุญาตให้เรียกใช้ในหน้า การเข้าถึงข้อมูล โดยทำดังนี้
- คลิกเพิ่มหรือนำขอบเขตออก ในหน้านี้
- ในคอลัมน์ API ให้ค้นหา "Google Health API" เลือกขอบเขตที่ต้องการสำหรับแอปพลิเคชัน
- หลังจากเลือกขอบเขตที่ต้องการทั้งหมดแล้ว ให้คลิกอัปเดต เพื่อกลับไปที่หน้าการเข้าถึงข้อมูล
- คลิกบันทึก
คุณตั้งค่ารหัสไคลเอ็นต์เสร็จแล้ว และควรจะเรียกใช้ Google Health API ได้แล้ว
อัปเดตขอบเขต
คุณสามารถแจ้งให้ผู้ใช้ให้สิทธิ์แอปอีกครั้งได้โดยตั้งค่าพารามิเตอร์ `prompt` เป็น `consent` ในคำขอการตรวจสอบสิทธิ์ เมื่อรวม prompt=consent ไว้ ระบบจะแสดงหน้าจอคำยินยอมทุกครั้งที่แอปขอสิทธิ์เข้าถึงขอบเขต แม้ว่าก่อนหน้านี้จะมีการให้สิทธิ์ขอบเขตทั้งหมดแก่โปรเจ็กต์ Google APIs แล้วก็ตาม
หากต้องการเพิ่มหรือเปลี่ยนขอบเขตโดยใช้พารามิเตอร์ prompt=consent ให้ทำตามขั้นตอนต่อไปนี้
ระบุรายการ ขอบเขตทั้งหมดที่แอปพลิเคชัน ต้องการ ซึ่งควรรวมทั้งขอบเขตที่มีอยู่และขอบเขตใหม่ที่ต้องการเพิ่ม
แก้ไขพารามิเตอร์ `scope` ใน URL การให้สิทธิ์เพื่อรวมรายการค่าขอบเขตที่อัปเดตแล้วโดยคั่นด้วยช่องว่าง
เพิ่ม
prompt=consentลงในพารามิเตอร์ URI การตรวจสอบสิทธิ์ ซึ่งจะบังคับให้เซิร์ฟเวอร์การให้สิทธิ์แจ้งให้ผู้ใช้ให้ความยินยอมก่อนที่จะแสดงข้อมูลแก่ไคลเอ็นต์ตัวอย่างต่อไปนี้แสดงคำขอ HTTPS GET ไปยังปลายทางการให้สิทธิ์ OAuth 2.0 ของ Google เพื่อขอขอบเขตหลายรายการโดยเพิ่ม
prompt=consentไว้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
เมื่อผู้ใช้คลิกลิงก์ที่อัปเดตแล้ว ระบบจะแสดงหน้าคำยินยอมที่แสดงขอบเขตที่ขอทั้งหมด เมื่อผู้ใช้คลิก "ดำเนินการต่อ" หรือ "อนุญาต" คุณจะได้รับรหัสการให้สิทธิ์ใหม่ที่สามารถแลกเป็นโทเค็นที่ครอบคลุมขอบเขตทั้งหมด
รวม
prompt=consentเฉพาะเมื่อจำเป็นเท่านั้น เช่น เมื่อคุณต้องการรับโทเค็นการรีเฟรชใหม่หรือเมื่อขอบเขตที่ขอมีการเปลี่ยนแปลง
ไลบรารีไคลเอ็นต์ OAuth2
ดูรายการไลบรารีไคลเอ็นต์ OAuth2 ที่พร้อมใช้งานซึ่งใช้เพื่อผสานรวมกับเฟรมเวิร์กยอดนิยม ได้ที่ การใช้ OAuth 2.0 เพื่อเข้าถึง Google API
โทเค็นการรีเฟรช
แอปพลิเคชันต้องใช้โทเค็นการรีเฟรชเพื่อรักษาสิทธิ์เข้าถึง Google APIs ในระยะยาวโดยไม่ต้องให้ผู้ใช้ตรวจสอบสิทธิ์อีกครั้งอย่างต่อเนื่อง ดูรายละเอียดการใช้งานที่ครอบคลุม รวมถึงคำขอ HTTP และพารามิเตอร์เฉพาะที่จำเป็นได้ในเอกสารประกอบของแพลตฟอร์มข้อมูลประจำตัวของ Google
หากต้องการแลกโทเค็นการรีเฟรชเป็นโทเค็นเพื่อการเข้าถึง ให้เรียกใช้ HTTPS POST ไปยังปลายทางโทเค็น OAuth 2.0 ของ Google ข้อมูลโค้ดต่อไปนี้แสดงตัวอย่างคำขอและการตอบกลับ
ส่งคำขอ
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'
การตอบกลับ
{
"access_token": "access-token",
"expires_in": 3599,
"scope": "scope-list",
"token_type": "Bearer",
"refresh_token": "refresh-token",
"refresh_token_expires_in": 112154
}ลักษณะการทำงานของโทเค็นระหว่างการทดสอบ
โปรดทราบลักษณะการทำงานของโทเค็นการรีเฟรชตามสถานะการเผยแพร่ของโปรเจ็กต์ Google Cloud ดังนี้
- โหมดการทดสอบ: หากกำหนดค่าหน้าจอคำยินยอม OAuth ด้วยสถานะการเผยแพร่ "การทดสอบ" โทเค็นการรีเฟรชที่ออกให้จะเป็นแบบอิงตามเวลาและหมดอายุหลังจากผ่านไป 7 วัน ในช่วงนี้ คุณจะได้รับโทเค็นการรีเฟรชรายการเดียวที่ยังคงใช้ได้และใช้เพื่อรับโทเค็นเพื่อการเข้าถึงใหม่ได้จนกว่าจะถึงวันที่หมดอายุ
- โหมดเผยแพร่: เมื่อย้ายแอปไปอยู่ในสถานะ "ใช้งานจริง" โดยทั่วไปแล้วโทเค็นการรีเฟรชจะไม่หมดอายุ เว้นแต่จะถูกเพิกถอนหรือไม่ได้ใช้งานเป็นระยะเวลานาน (โดยปกติคือ 6 เดือน)
เพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ราบรื่น โปรดเผยแพร่แอปพลิเคชันก่อนที่จะย้ายไปยังสภาพแวดล้อมการใช้งานจริงเพื่อหลีกเลี่ยงการหมดอายุของโทเค็นใน 7 วัน