ตั้งค่า Google Cloud และ OAuth

สิทธิ์เข้าถึง Google Health API จะได้รับผ่าน Google Cloud หากต้องการเปิดใช้ API และให้สิทธิ์บัญชี Google คุณจะต้องมีโปรเจ็กต์ Google Cloud

ไม่ว่าคุณจะเป็นนักพัฒนา Fitbit API ที่มีอยู่แล้วหรือเป็นผู้ใช้ใหม่ของ Google Health API คุณจะต้องทำขั้นตอนนี้ให้เสร็จสมบูรณ์เพื่อทำการเรียก API

สร้างโปรเจ็กต์และไคลเอ็นต์ OAuth

ใช้ปุ่มเปิดใช้ API และรับรหัสไคลเอ็นต์ OAuth 2.0 เพื่อเปิดใช้ Google Health API และรับรหัสไคลเอ็นต์ OAuth 2.0 โดยทำดังนี้

  1. หากมีโปรเจ็กต์ Google Cloud อยู่แล้วที่ต้องการใช้กับ Google Health API โปรดตรวจสอบว่าคุณได้ลงชื่อเข้าใช้บัญชีผู้ดูแลระบบสำหรับโปรเจ็กต์นั้นก่อน จากนั้นเลือกโปรเจ็กต์ที่มีอยู่จากรายการโปรเจ็กต์ที่พร้อมใช้งานหลังจากคลิกปุ่ม หรือสร้างโปรเจ็กต์ใหม่
  2. เลือกเว็บเซิร์ฟเวอร์เมื่อระบบถามว่า "คุณโทรจากที่ไหน"
  3. ป้อน https://www.google.com เป็นค่าสำหรับ URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต ต้องระบุ URI การเปลี่ยนเส้นทางเพื่อรับรหัสการให้สิทธิ์โดยใช้ OAuth 2.0
  4. เมื่อตั้งค่าเสร็จแล้ว ให้คัดลอกค่ารหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ OAuth 2.0 แล้วดาวน์โหลด JSON ของข้อมูลเข้าสู่ระบบไปยังเครื่องของคุณ
เปิดใช้ API และรับรหัสไคลเอ็นต์ OAuth 2.0

หากต้องการตั้งค่าโปรเจ็กต์ Google Cloud ด้วยตนเอง หรือยืนยัน การตั้งค่าและดึงข้อมูลเข้าสู่ระบบอีกครั้ง ให้ทำดังนี้

  1. เปิดใช้ Google Health API ในหน้าการเปิดใช้ API
  2. รับรหัสไคลเอ็นต์ OAuth 2.0 ในหน้าข้อมูลเข้าสู่ระบบ

ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่า OAuth 2.0 โดยใช้คอนโซล Google ได้ที่การใช้ OAuth 2.0 เพื่อเข้าถึง Google APIs

เพิ่มผู้ใช้ทดสอบ

โดยค่าเริ่มต้น ไคลเอ็นต์ OAuth ที่สร้างใหม่จะอยู่ในสถานะที่ยังไม่ได้รับการยืนยัน โดยมีขีดจำกัดผู้ใช้ 100 รายทั้งเพื่อการทดสอบและเวอร์ชันที่ใช้งานจริง หากต้องการเปิดใช้การให้สิทธิ์ ในช่วงนี้ คุณต้องเพิ่มอีเมลของผู้ใช้แต่ละรายลงในรายชื่อผู้ใช้ทดสอบ ในการกำหนดค่าโปรเจ็กต์ด้วยตนเอง

อัปเดตรายชื่อผู้ใช้ทดสอบในหน้ากลุ่มเป้าหมาย

  1. ในหน้านี้ คุณควรเห็น "สถานะการเผยแพร่" ตั้งค่าเป็นการทดสอบ และ "ประเภทผู้ใช้" ตั้งค่าเป็นภายนอก
  2. ในส่วน "ผู้ใช้ทดสอบ" ให้คลิก + เพิ่มผู้ใช้ ป้อน อีเมลของผู้ใช้ทดสอบที่ควรได้รับอนุญาตให้มอบสิทธิ์ให้แอปของคุณ เข้าถึงข้อมูลสุขภาพของผู้ใช้
  3. คลิกบันทึก

การรองรับผู้ใช้มากกว่า 100 รายด้วย Google Health API ต้องดำเนินการ การตรวจสอบความปลอดภัยของบุคคลที่สามให้เสร็จสมบูรณ์ ดูข้อมูลเพิ่มเติมได้ในศูนย์ช่วยเหลือเกี่ยวกับการยืนยันแอป OAuth

เพิ่มขอบเขต

คุณต้องระบุขอบเขตที่ไคลเอ็นต์ได้รับอนุญาตให้เรียกใช้ในหน้า การเข้าถึงข้อมูล

  1. ในหน้านี้ ให้คลิกเพิ่มหรือนำขอบเขตออก
  2. ในคอลัมน์ API ให้ค้นหา "Google Health API" เลือกขอบเขตที่คุณ ต้องการสำหรับแอปพลิเคชัน
  3. หลังจากเลือกขอบเขตทั้งหมดที่ต้องการแล้ว ให้คลิกอัปเดตเพื่อกลับไปที่หน้า การเข้าถึงข้อมูล
  4. คลิกบันทึก

โปรดอ่านการติดตั้งใช้งานขอบเขตก่อนเลือกขอบเขต

คุณตั้งค่ารหัสไคลเอ็นต์เสร็จแล้ว และตอนนี้ควรจะทำการเรียกไปยัง Google Health API ได้

อัปเดตขอบเขต

คุณสามารถแจ้งให้ผู้ใช้ให้สิทธิ์แอปอีกครั้งได้โดยตั้งค่าพารามิเตอร์พรอมต์ เป็น "ยินยอม" ในคำขอการตรวจสอบสิทธิ์ เมื่อมี prompt=consent หน้าจอขอความยินยอมจะแสดงทุกครั้งที่แอปขอสิทธิ์เข้าถึง ขอบเขตการเข้าถึง แม้ว่าโปรเจ็กต์ Google APIs จะได้รับสิทธิ์ทั้งหมดก่อนหน้านี้แล้วก็ตาม

หากต้องการเพิ่มหรือเปลี่ยนขอบเขตโดยใช้พารามิเตอร์ prompt=consent ให้ทำตามขั้นตอนต่อไปนี้

  1. ระบุรายการขอบเขตทั้งหมดที่แอปพลิเคชันของคุณต้องการ ซึ่งควรรวมทั้งขอบเขตที่มีอยู่และขอบเขตใหม่ที่คุณ ต้องเพิ่ม

  2. แก้ไขพารามิเตอร์ขอบเขตใน URL การให้สิทธิ์ให้มีรายการค่าขอบเขตที่อัปเดตแล้วซึ่งคั่นด้วยช่องว่าง

  3. ต่อท้าย 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
  4. เมื่อผู้ใช้คลิกลิงก์ที่อัปเดตแล้ว ระบบจะแสดงหน้าความยินยอมที่แสดงขอบเขตทั้งหมดที่ขอ เมื่อผู้ใช้คลิก "ต่อไป" หรือ "อนุญาต" คุณจะได้รับรหัสการให้สิทธิ์ใหม่ที่สามารถแลกเปลี่ยน เป็นโทเค็นที่ครอบคลุมขอบเขตทั้งหมด

    ระบุ prompt=consent เฉพาะเมื่อจำเป็นเท่านั้น เช่น เมื่อคุณต้องการ รับโทเค็นการรีเฟรชใหม่หรือเมื่อขอบเขตที่ขอมีการเปลี่ยนแปลง

ไลบรารีของไคลเอ็นต์ OAuth2

ดูรายการไลบรารีของไคลเอ็นต์ OAuth2 ที่พร้อมใช้งานซึ่งใช้เพื่อผสานรวมกับเฟรมเวิร์กยอดนิยมได้ที่การใช้ OAuth 2.0 เพื่อเข้าถึง Google API

โทเค็นการรีเฟรช

หากต้องการรักษาสิทธิ์เข้าถึง Google API ในระยะยาวโดยไม่ต้องให้ผู้ใช้ตรวจสอบสิทธิ์อีกครั้งอยู่เสมอ แอปพลิเคชันของคุณต้องใช้โทเค็นการรีเฟรช ดูรายละเอียดการใช้งานที่ครอบคลุม รวมถึงคำขอ HTTP และพารามิเตอร์ที่เฉพาะเจาะจงที่จำเป็นได้ในเอกสารประกอบของแพลตฟอร์มข้อมูลประจำตัวของ Google

หากต้องการแลกเปลี่ยนโทเค็นการรีเฟรชเป็นโทเค็นเพื่อการเข้าถึง ให้เรียกใช้ HTTPS POST ไปยัง ปลายทางของโทเค็น Google OAuth 2.0 ข้อมูลโค้ดต่อไปนี้แสดงตัวอย่าง คำขอและการตอบกลับ

ส่งคำขอ

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 วัน ในช่วงนี้ คุณจะได้รับโทเค็นการรีเฟรชรายการเดียวที่ยังคงใช้ได้และใช้เพื่อรับโทเค็นเพื่อการเข้าถึงใหม่ได้จนกว่าจะถึงวันที่หมดอายุ
  • โหมดเผยแพร่: เมื่อย้ายแอปไปที่สถานะ "ใช้งานจริง" แล้ว โดยทั่วไปแล้ว Refresh Token จะไม่มีวันหมดอายุ เว้นแต่จะถูกเพิกถอนหรือไม่มีการใช้งาน เป็นเวลานาน (โดยปกติคือ 6 เดือน)

เพื่อให้ผู้ใช้ได้รับประสบการณ์ของผู้ใช้ที่ราบรื่น โปรดตรวจสอบว่าคุณได้เผยแพร่แอปพลิเคชันก่อนที่จะย้ายไปยังสภาพแวดล้อมฮาร์ดแวร์และซอฟต์แวร์เพื่อไม่ให้โทเค็นหมดอายุใน 7 วัน

การป้องกันแบบครอบคลุมหลายบริการ (RISC API)

เปิดใช้การแชร์และการประสานงานความเสี่ยงและเหตุการณ์ (RISC) หากต้องการรับการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงโทเค็นเหตุการณ์หรือการลิงก์บัญชี เช่น บัญชีที่ยกเลิกการเชื่อมต่อหรือโทเค็นที่ถูกเพิกถอน เพื่อล้างโทเค็นที่จัดเก็บไว้และอัปเดตสถานะการเชื่อมต่อ UI การเปิดใช้ RISC API เป็นการดำเนินการที่ไม่บังคับ

วิธีเปิดใช้ RISC API สำหรับโปรเจ็กต์ Google Cloud

  1. เปิดหน้าRISC API ในคอนโซล Google Cloud ตรวจสอบว่าได้เลือกโปรเจ็กต์ที่ใช้สำหรับ Google Health API แล้ว
  2. อ่านข้อกำหนดของ RISC และ ตรวจสอบว่าคุณเข้าใจข้อกำหนด
  3. คลิกเปิดใช้หากคุณยินยอมตามข้อกำหนด

หลังจากเปิดใช้ API แล้ว คุณต้องสร้างและลงทะเบียนปลายทาง HTTPS เพื่อ รับและตรวจสอบโทเค็นเหตุการณ์ที่ Google ส่ง

ดูข้อมูลเพิ่มเติมเกี่ยวกับการป้องกันแบบครอบคลุมหลายบริการและ RISC ได้ที่ ปกป้องบัญชีผู้ใช้ด้วยการป้องกันแบบครอบคลุมหลายบริการ