Google มุ่งมั่นที่จะพัฒนาความเท่าเทียมทางเชื้อชาติสำหรับชุมชนคนผิวดำ มาดูกันว่า
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

เอกสารอ้างอิงการอนุญาต

คำขอรหัสอนุญาต

ขึ้นอยู่กับประเภทคำขอเราใช้ความยาวรหัสต่างกันและค่า TTL (เวลาเป็นสด):

ไหล TTL ความยาวรหัส
เว็บ 10 นาที 16 ตัวอักษร
PIN 48 ชั่วโมง 8 ตัวอักษร

พารามิเตอร์

พารามิเตอร์การอนุญาตที่สนับสนุนใน Nest API คือ:

ชื่อ ชนิด จำเป็นต้องใช้ ลักษณะ
client_id เชือก ใช่ มีอยู่ในหน้า OAuth Clients
redirect_uri เชือก ไม่ ใช้สิ่งนี้เพื่อระบุ URI การเปลี่ยนเส้นทางที่ต้องการหากมีการกำหนดค่า URI การเปลี่ยนเส้นทางหลายรายการสำหรับลูกค้าของคุณ งดเว้นเพื่อใช้ URI การเปลี่ยนเส้นทางเริ่มต้นของคุณ

อย่า รวมพารามิเตอร์อื่น ๆ ภายในพารามิเตอร์ redirect_uri นั้นควรตรงกับ URI การเปลี่ยนเส้นทางที่กำหนดค่าไว้สำหรับลูกค้าของคุณ
state เชือก ใช่ ใช้สิ่งนี้เพื่อระบุค่าที่ไม่สามารถคาดเดาได้เพื่อต่อต้าน การโจมตี CSRF มิฉะนั้นให้ใช้ค่าเริ่มต้นของ STATE

ข้อความแสดงข้อผิดพลาดการอนุญาตตาม PIN

ข้อความแสดงข้อผิดพลาดต่อไปนี้สามารถแสดงต่อผู้ใช้ระหว่างการร้องขอรหัสอนุญาตตาม PIN:

ข้อความแสดงความผิดพลาดของผู้ใช้ คำอธิบาย
ไม่มีรหัสลูกค้าหรือพารามิเตอร์รัฐ URL การให้สิทธิ์ไม่มีพารามิเตอร์ client_id หรือ state หรือทั้งสองอย่าง ตรวจสอบให้แน่ใจว่า URL การอนุมัติที่ผ่านสมบูรณ์และถูกต้อง
อ๊ะ! เราพบข้อผิดพลาด กรุณาลองอีกครั้ง. ข้อผิดพลาดนี้เกิดขึ้นจากสิ่งต่อไปนี้:
  • บริการ Nest หยุดทำงาน รอจนกระทั่งบริการ Nest ได้รับการกู้คืน
  • ไม่มีไคลเอ็นต์สำหรับ client_id กำหนด ตรวจสอบให้แน่ใจว่า URL การอนุมัติที่ผ่านไปนั้นใช้ client_id ถูกต้อง
การเชื่อมต่อกับ ชื่อ บริษัท ไม่สามารถใช้งานได้ในขณะนี้ กรุณาติดต่อ Nest สำหรับข้อมูลเพิ่มเติม ไคลเอ็นต์เกินโควต้าผู้ใช้ ส่งลูกค้าของคุณเพื่อตรวจสอบเพื่อเพิ่มผู้ใช้มากขึ้น

เปลี่ยนทิศทางการตอบกลับข้อผิดพลาดการอนุญาตตาม URI

สำหรับการตอบกลับทั้งหมด content-type: application/json

ไม่มีพารามิเตอร์ที่จำเป็น

รายละเอียด
รหัสสถานะ HTTP 400 คำขอไม่ถูกต้อง
ร่างกาย {
"error":"oauth2_error",
"error_description":"missing required parameters: PARAM_NAME "
}
คำอธิบาย พารามิเตอร์ที่ต้องการคือ PARAM_NAME หายไปจากคำขอรหัสอนุญาต

redirect_uri ไม่ได้ลงทะเบียนล่วงหน้า

รายละเอียด
รหัสสถานะ HTTP 400 คำขอไม่ถูกต้อง
ร่างกาย {
"error":"input_data_error",
"error_description":"redirect_uri not pre-registered"
}
คำอธิบาย พารามิเตอร์ redirect_uri ใช้ในคำขอโทเค็นการเข้าถึงไม่ตรงกับ URIs การเปลี่ยนเส้นทางที่กำหนดค่าไว้สำหรับไคลเอ็นต์ของคุณ

คำขอโทเค็นการเข้าถึง

เราขอแนะนำให้คุณปฏิบัติตาม มาตรฐาน OAuth นี้ซึ่งนำเสนอการรักษาความปลอดภัยที่เพิ่มขึ้นโดยการรวมข้อมูลประจำตัวลูกค้าในคำขอเนื้อหา การโทรด้วยข้อมูลรับรองลูกค้าในส่วนหัวจะยังคงใช้งานได้ แต่ไม่แนะนำ

คำขอโทเค็นการเข้าถึงอยู่ในรูปแบบของคำขอ HTTP POST

พารามิเตอร์

ชื่อ ชนิด จำเป็นต้องใช้ ลักษณะ
code เชือก ใช่ รหัสการอนุญาตที่ส่งผ่านหลังจากลูกค้าของคุณยินยอมให้แอปเข้าถึงข้อมูล Nest ค่านี้มีให้โดยการร้องขอรหัสอนุญาตที่ประสบความสำเร็จ

เรียนรู้วิธีตั้งค่าการอนุญาต
client_id เชือก ใช่ มีอยู่ในหน้า OAuth Clients
client_secret เชือก ใช่ มีอยู่ในหน้า OAuth Clients อาจเรียกว่ารหัสแอปพลิเคชัน
grant_type เชือก ใช่ ต้องเป็นสตริงนี้: authorization_code

คำตอบ

สำหรับการตอบกลับทั้งหมด content-type: application/json

รหัสสถานะ HTTP ลักษณะ ร่างกาย
200 ตกลง โทเค็นการเข้าถึงถูกส่งคืน ใช้โทเค็นการเข้าถึงในการโทรไปยังบริการ Nest LONG คือจำนวนวินาทีจนกว่าโทเค็นจะหมดอายุ {
"access_token":"STRING",
"expires_in":LONG
}

เข้าถึงโทเค็นอายุการใช้งาน

เราไม่สนับสนุน โทเค็นการรีเฟรช เนื่องจากโทเค็นการเข้าถึงไม่หมดอายุอย่างมีประสิทธิภาพ ดู ภาพรวมการอนุญาต สำหรับข้อมูลเพิ่มเติมเกี่ยวกับขั้นตอนการ อนุมัติ บนเว็บและ PIN

การตอบสนองข้อผิดพลาดโทเค็นการเข้าถึง

สำหรับการตอบกลับทั้งหมด content-type: application/json

รหัสการอนุญาตหมดอายุ

รายละเอียด
รหัสสถานะ HTTP 400 คำขอไม่ถูกต้อง
ร่างกาย {
"error":"oauth2_error",
"error_description":"authorization code expired"
}
คำอธิบาย รหัสการอนุญาตหมดอายุ จำเป็นต้องมีรหัสอนุญาตใหม่เพื่อขอโทเค็นการเข้าถึง

ไม่พบรหัสการอนุญาต

รายละเอียด
รหัสสถานะ HTTP 400 คำขอไม่ถูกต้อง
ร่างกาย {
"error":"oauth2_error",
"error_description":"authorization code not found"
}
คำอธิบาย พารามิเตอร์ code ไม่ถูกต้อง ตรวจสอบว่าคุณใช้รหัสอนุญาตที่ถูกต้อง

ลูกค้าไม่ทำงาน

รายละเอียด
รหัสสถานะ HTTP 403 ต้องห้าม
ร่างกาย {
"error":"client_not_active",
"error_description":"client is not active"
}
คำอธิบาย ตรวจสอบว่าคุณใช้ พารามิเตอร์ที่ ถูกต้อง หากพารามิเตอร์ถูกต้องและข้อผิดพลาดเกิดขึ้นกับวิธีการอนุญาตบางอย่างเท่านั้น (ตัวอย่างเช่นการให้สิทธิ์ทำได้สำเร็จโดยใช้บุรุษไปรษณีย์ แต่ไม่ได้ใช้ Curl) อาจมีบางอย่างผิดปกติกับไวยากรณ์ของคุณ

ข้อผิดพลาดนี้จะเกิดขึ้นหากลูกค้าของคุณปิดการใช้งาน

ไม่พบความลับของลูกค้า

รายละเอียด
รหัสสถานะ HTTP 400 คำขอไม่ถูกต้อง
ร่างกาย {
"error":"oauth2_error",
"error_description":"client secret not found"
}
คำอธิบาย พารามิเตอร์ client_secret ไม่ถูกต้อง ตรวจสอบว่าคุณใช้ค่า client_secret ถูกต้อง

ไม่มีพารามิเตอร์ที่จำเป็น

รายละเอียด
รหัสสถานะ HTTP 400 คำขอไม่ถูกต้อง
ร่างกาย {
"error":"oauth2_error",
"error_description":"missing required parameters: PARAM_NAME "
}
คำอธิบาย พารามิเตอร์ที่ต้องการ PARAM_NAME หายไปจากคำขอโทเค็นการเข้าถึง

ไม่อนุญาตการเปลี่ยนเส้นทาง _uri

รายละเอียด
รหัสสถานะ HTTP 400 คำขอไม่ถูกต้อง
ร่างกาย {
"error":"input_error",
"error_description":"redirect_uri not allowed"
}
คำอธิบาย พารามิเตอร์ redirect_uri ถูกใช้ในคำขอโทเค็นการเข้าถึง