ตั้งค่า OAuth สําหรับแอป Android

Home API ใช้ OAuth 2.0 เพื่อให้สิทธิ์เข้าถึงอุปกรณ์ในบ้าน OAuth ช่วยให้ผู้ใช้ให้สิทธิ์แก่แอปหรือบริการได้โดยไม่ต้องเปิดเผยข้อมูลเข้าสู่ระบบ

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

รับรองแอป

ก่อนอื่น ให้สร้างใบรับรองสำหรับการแก้ไขข้อบกพร่องโดยเรียกใช้แอปใน Android Studio เมื่อคุณเรียกใช้หรือแก้ไขข้อบกพร่องของแอปใน Android Studio ระบบจะสร้างใบรับรองสำหรับการแก้ไขข้อบกพร่องโดยอัตโนมัติเพื่อใช้ในการพัฒนาและแก้ไขข้อบกพร่อง ดูคำอธิบายทั้งหมดได้ที่ Android Studio: ลงชื่อในบิลด์การแก้ไขข้อบกพร่อง

เมื่อแอปทำงานแล้ว ให้ทำดังนี้

  1. เชื่อมต่ออุปกรณ์เคลื่อนที่กับเครื่องในพื้นที่ Android Studio จะแสดงรายการอุปกรณ์ที่เชื่อมต่อตามหมายเลขรุ่น เลือกอุปกรณ์จากรายการ แล้วคลิกเรียกใช้โปรเจ็กต์ ซึ่งจะสร้างและติดตั้งแอปตัวอย่างในอุปกรณ์เคลื่อนที่

    ดูวิธีการที่ละเอียดยิ่งขึ้นได้ที่เรียกใช้แอปในอุปกรณ์ฮาร์ดแวร์ในเว็บไซต์ของนักพัฒนาแอป Android

  2. หยุดแอปที่ทำงานอยู่

  3. รับลายนิ้วมือ SHA-1 ของใบรับรองสำหรับการแก้ไขข้อบกพร่องโดยทำตามวิธีการที่ระบุไว้ในการตั้งค่า OAuth 2.0 / แอปพลิเคชันแบบเนทีฟ / Android ในเว็บไซต์ความช่วยเหลือของคอนโซล Google Cloud

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

    1. คลิกกำหนดค่าหน้าจอขอความยินยอม หน้าหน้าจอขอความยินยอม OAuth จะปรากฏขึ้น
    2. เลือกภายในหรือภายนอกตามกรณีการใช้งาน แล้วคลิกสร้าง แผงหน้าจอขอความยินยอม OAuth จะปรากฏขึ้น
    3. ป้อนข้อมูลในหน้าข้อมูลแอปตามวิธีการบนหน้าจอ แล้วคลิกบันทึกและดำเนินการต่อ แผงขอบเขตจะปรากฏขึ้น
    4. คุณไม่จำเป็นต้องเพิ่มขอบเขตใดๆ ดังนั้นให้คลิกบันทึกและดำเนินการต่อ แผงผู้ใช้ทดสอบจะปรากฏขึ้น
    5. คลิกกลุ่มเป้าหมาย แล้วคลิกปุ่ม + เพิ่มผู้ใช้
    6. ป้อนอีเมลของผู้ใช้ทดสอบ แล้วคลิกปุ่มบันทึก
    7. คลิกบันทึกและต่อไป แผงสรุปจะปรากฏขึ้น
    8. ตรวจสอบข้อมูลหน้าจอขอความยินยอม OAuth แล้วคลิกกลับไปที่แดชบอร์ด

ดูรายละเอียดทั้งหมดได้ที่หัวข้อการตั้งค่าหน้าจอขอความยินยอม OAuth ในเว็บไซต์ความช่วยเหลือของคอนโซล Google Cloud

ลงทะเบียนแอปและสร้างข้อมูลเข้าสู่ระบบ

หากต้องการลงทะเบียนแอปสำหรับ OAuth 2.0 และสร้างข้อมูลเข้าสู่ระบบ OAuth ให้ทำตามวิธีการในการตั้งค่า OAuth 2.0 คุณจะต้องระบุประเภทแอป ซึ่งก็คือแอปที่มาพร้อมเครื่อง/แอป Android

เพิ่มลายนิ้วมือ SHA-1 ที่ได้จากการรับรองแอปลงในไคลเอ็นต์ OAuth ที่คุณตั้งค่าไว้ในคอนโซล Google Cloud โดยทำตามวิธีการในหัวข้อการตั้งค่า OAuth 2.0 / แอปพลิเคชันแบบเนทีฟในเว็บไซต์ความช่วยเหลือของคอนโซล Google Cloud

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

หากคุณมีไคลเอ็นต์ OAuth อยู่แล้ว

หากคุณมีไคลเอ็นต์ OAuth ที่ได้รับการยืนยันสำหรับแอปที่เผยแพร่แล้ว คุณสามารถใช้ไคลเอ็นต์ OAuth ที่มีอยู่เพื่อทดสอบ Home API ได้

คุณไม่จำเป็นต้องลงทะเบียน Google Home Developer Console เพื่อทดสอบและใช้ Home API อย่างไรก็ตาม คุณจะยังคงต้องลงทะเบียน Developer Console ที่ได้รับอนุมัติเพื่อเผยแพร่แอป แม้ว่าจะมีไคลเอ็นต์ OAuth ที่ได้รับการยืนยันจากการผสานรวมอื่นแล้วก็ตาม

โดยมีข้อควรพิจารณาดังต่อไปนี้

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

  • Developer Console registration ควรส่งเพื่อขออนุมัติเมื่อคุณพร้อมที่จะจำกัดการให้สิทธิ์ตามประเภทอุปกรณ์ผ่าน OAuth เพื่อเตรียมพร้อมสำหรับการอัปเดตแอปด้วย Home API

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

Access blocked: <Project Name> has not completed the Google verification process.