Home APIs ใช้ OAuth 2.0 เพื่อให้สิทธิ์เข้าถึงอุปกรณ์ในโครงสร้าง โดย OAuth จะอนุญาตให้ผู้ใช้ให้สิทธิ์เข้าถึงแอปหรือบริการโดยไม่ต้องเปิดเผยข้อมูลเข้าสู่ระบบ
หากคุณมีไคลเอ็นต์ OAuth ที่ได้รับการยืนยันแล้ว (เช่น จากแอปที่เผยแพร่แล้ว) คุณสามารถใช้ไคลเอ็นต์ดังกล่าวเพื่อทดสอบ Home APIs ได้โดยไม่ต้องตั้งค่าไคลเอ็นต์ใหม่ ดูข้อมูลเพิ่มเติมได้ที่หัวข้อ กรณีที่คุณมีไคลเอ็นต์ OAuth อยู่แล้ว
ลงชื่อแอป
ขั้นแรก ให้สร้างใบรับรองสำหรับการแก้ไขข้อบกพร่องโดยเรียกใช้แอปใน Android Studio เมื่อคุณเรียกใช้หรือแก้ไขข้อบกพร่องของแอปใน Android Studio ระบบจะสร้างใบรับรองสำหรับการแก้ไขข้อบกพร่องโดยอัตโนมัติซึ่งมีไว้สำหรับการพัฒนาและการแก้ไขข้อบกพร่อง ดูคำอธิบายฉบับเต็มได้ที่ Android Studio: Sign your debug build
เมื่อแอปทำงานแล้ว ให้ทำดังนี้
เชื่อมต่ออุปกรณ์เคลื่อนที่กับเครื่องในระบบ Android Studio จะแสดงรายการ อุปกรณ์ที่เชื่อมต่อตามหมายเลขรุ่น เลือกอุปกรณ์จากรายการ แล้วคลิก Run project ระบบจะสร้างและติดตั้งแอปตัวอย่างในอุปกรณ์เคลื่อนที่
ดูวิธีการโดยละเอียดเพิ่มเติมได้ที่หัวข้อ Run apps on a hardware device ในเว็บไซต์ของนักพัฒนาแอป Android
หยุดแอปที่กำลังทำงาน
รับฟิงเกอร์ปรินต์ SHA-1 ของใบรับรองสำหรับการแก้ไขข้อบกพร่องโดยทำตามวิธีการโดยละเอียดในหัวข้อ Setting up OAuth 2.0 / Native applications / Androidในเว็บไซต์ศูนย์ช่วยเหลือของคอนโซล Google Cloud
ตั้งค่าหน้าจอขอความยินยอม OAuth
- ในคอนโซล Google Cloud ให้ไปที่ แดชบอร์ดตัวเลือกโปรเจ็กต์ แล้วเลือกโปรเจ็กต์ที่ต้องการใช้สร้างข้อมูลเข้าสู่ระบบ OAuth
- ไปที่หน้า APIs and Services แล้วคลิก Credentials ในเมนูการนำทาง
หากยังไม่ได้กำหนดค่าหน้าจอขอความยินยอมสำหรับโปรเจ็กต์ Google Cloud นี้ ปุ่มกำหนดค่าหน้าจอขอความยินยอม จะปรากฏขึ้น ในกรณีนี้ ให้กำหนดค่าหน้าจอขอความยินยอมโดยใช้ขั้นตอนต่อไปนี้ มิเช่นนั้น ให้ข้ามไปยังส่วนถัดไป
- คลิกกำหนดค่าหน้าจอขอความยินยอม หน้าหน้าจอขอความยินยอม OAuth จะปรากฏขึ้น
- เลือก Internal หรือ External ตามกรณีการใช้งาน แล้ว คลิก Create บานหน้าต่างหน้าจอขอความยินยอม OAuth จะปรากฏขึ้น
- ป้อนข้อมูลในหน้าข้อมูลแอป ตามวิธีการบนหน้าจอ แล้วคลิกบันทึกและดำเนินการต่อ บานหน้าต่างขอบเขต จะปรากฏขึ้น
- คุณไม่จำเป็นต้องเพิ่มขอบเขตใดๆ จึงให้คลิกบันทึกและดำเนินการต่อ บานหน้าต่างผู้ใช้ทดสอบ จะปรากฏขึ้น
- คลิกกลุ่มเป้าหมาย แล้วคลิกปุ่ม + เพิ่มผู้ใช้
- ป้อนอีเมลของผู้ใช้ทดสอบ แล้วคลิกปุ่ม SAVE
- คลิกบันทึกและดำเนินการต่อ บานหน้าต่างสรุป จะปรากฏขึ้น
- ตรวจสอบข้อมูลหน้าจอขอความยินยอม OAuth แล้วคลิกกลับไปที่แดชบอร์ด
ดูรายละเอียดทั้งหมดได้ที่หัวข้อ Setting up your OAuth consent screen ในเว็บไซต์ศูนย์ช่วยเหลือของคอนโซล Google Cloud
ลงทะเบียนแอปและสร้างข้อมูลเข้าสู่ระบบ
หากต้องการลงทะเบียนแอปสำหรับ OAuth 2.0 และสร้างข้อมูลเข้าสู่ระบบ OAuth ให้ทำตาม วิธีการที่ระบุไว้ใน หัวข้อ Setting up OAuth 2.0 คุณจะต้องระบุประเภทแอป ซึ่งก็คือ แอป native/Android
เพิ่มลายนิ้วมือ SHA-1 ที่ได้จากการลงชื่อแอปไปยังไคลเอ็นต์ OAuth ที่คุณตั้งค่าไว้ในคอนโซล Google Cloud โดยทำตามวิธีการในหัวข้อ Setting up OAuth 2.0 / Native applications ในเว็บไซต์ศูนย์ช่วยเหลือของ Google Cloud Console
เมื่ออุปกรณ์เคลื่อนที่เชื่อมต่อกับเครื่องในระบบแล้ว ให้เลือกอุปกรณ์จากรายการ แล้วคลิก Run project อีกครั้งเพื่อดำเนินการ ดูวิธีการโดยละเอียดเพิ่มเติมได้ที่หัวข้อ Run apps on a hardware device ในเว็บไซต์ของนักพัฒนาแอป Android
กรณีที่คุณมีไคลเอ็นต์ OAuth อยู่แล้ว
หากคุณมีไคลเอ็นต์ OAuth ที่ได้รับการยืนยันแล้วสำหรับแอปที่เผยแพร่ คุณสามารถใช้ไคลเอ็นต์ OAuth ที่มีอยู่เพื่อทดสอบ Home APIs ได้
Google Home Developer Console ไม่จำเป็นต้องลงทะเบียนเพื่อทดสอบและใช้ Home APIs อย่างไรก็ตาม คุณยังคงต้องลงทะเบียนที่ได้รับอนุมัติ Developer Console เพื่อเผยแพร่แอป แม้ว่าคุณจะมีไคลเอ็นต์ OAuth ที่ได้รับการยืนยันแล้ว จากการผสานรวมอื่นๆ
ข้อควรพิจารณาต่อไปนี้มีผลบังคับใช้
เมื่อใช้ไคลเอ็นต์ OAuth ที่มีอยู่ จะจำกัดผู้ใช้ไว้ที่ 100 ราย ดูข้อมูลเกี่ยวกับการเพิ่มผู้ใช้ทดสอบได้ที่หัวข้อ ตั้งค่าหน้าจอขอความยินยอม OAuth screen. นอกเหนือจากการยืนยัน OAuth แล้ว Home APIs ยังกำหนดขีดจำกัดไว้ที่ผู้ใช้ 100 รายที่สามารถให้สิทธิ์เข้าถึงแอปพลิเคชันของคุณได้ ข้อจำกัดนี้จะถูกยกเลิกเมื่อ การลงทะเบียน Developer Console เสร็จสมบูรณ์
Developer Console การลงทะเบียน ควร ส่งเพื่อขออนุมัติเมื่อคุณพร้อมที่จะจำกัดการให้สิทธิ์ประเภทอุปกรณ์ ผ่าน OAuth เพื่อเตรียมพร้อมสำหรับการอัปเดตแอปด้วย Home APIs
สำหรับแอป Google Cloud ที่ยังรอการยืนยัน OAuth อยู่ ผู้ใช้จะทำขั้นตอน OAuth ให้เสร็จสมบูรณ์ไม่ได้จนกว่าการยืนยันจะเสร็จสมบูรณ์ ความพยายามในการให้สิทธิ์จะล้มเหลวและแสดงข้อผิดพลาดต่อไปนี้
Access blocked: <Project Name> has not completed the Google verification process.