Notice: We're retiring Works with Nest. See the home page for more information.
Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย 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 ถูกใช้ในคำขอโทเค็นการเข้าถึง