Google cam kết thúc đẩy công bằng chủng tộc cho các cộng đồng Đen. Xem thế nào.
Trang này được dịch bởi Cloud Translation API.
Switch to English

Tài liệu tham khảo ủy quyền

Yêu cầu mã ủy quyền

Tùy thuộc vào loại yêu cầu, chúng tôi triển khai các độ dài mã khác nhau và các giá trị TTL (Thời gian tồn tại):

lưu lượng TTL Độ dài mã
Web 10 phút 16 ký tự
GHIM 48 giờ 8 ký tự

Thông số

Các tham số ủy quyền được hỗ trợ trong API Nest là:

Tên Kiểu Cần thiết Sự miêu tả
client_id chuỗi Đúng Có sẵn trên trang Khách hàng OAuth.
redirect_uri chuỗi Không Sử dụng điều này để chỉ định URI chuyển hướng mong muốn nếu nhiều URI chuyển hướng được định cấu hình cho máy khách của bạn. Bỏ qua nó để sử dụng URI chuyển hướng mặc định của bạn.

Không bao gồm bất kỳ tham số nào khác trong chính tham số redirect_uri , nó phải khớp chính xác với URI chuyển hướng được định cấu hình cho máy khách của bạn.
state chuỗi Đúng Sử dụng điều này để chỉ định một giá trị không thể đoán được để chống lại các cuộc tấn công CSRF . Nếu không, sử dụng giá trị mặc định của STATE .

Thông báo lỗi ủy quyền dựa trên mã PIN

Các thông báo lỗi sau có thể được hiển thị cho người dùng trong các yêu cầu mã ủy quyền dựa trên mã PIN:

Thông báo lỗi người dùng Giải trình
Thiếu ID khách hàng hoặc tham số trạng thái. URL ủy quyền bị thiếu hoặc tham số client_id hoặc state hoặc cả hai. Đảm bảo URL ủy quyền được thông qua là đầy đủ và chính xác.
Giáo sư! Chúng tôi đã gặp một lỗi. Vui lòng thử lại. Lỗi này xảy ra từ sau:
  • Dịch vụ Nest ngừng hoạt động. Chờ cho đến khi dịch vụ Nest được khôi phục.
  • Một khách hàng không tồn tại cho client_id cho. Đảm bảo URL ủy quyền được thông qua đang sử dụng client_id chính xác.
Kết nối với Tên công ty hiện không có sẵn. Vui lòng liên hệ với Nest để biết thêm thông tin. Khách hàng đã vượt quá hạn ngạch người dùng. Gửi khách hàng của bạn để xem xét để thêm người dùng.

Chuyển hướng phản hồi lỗi ủy quyền dựa trên URI

Đối với tất cả các phản hồi, loại nội dung: application/json .

Thiếu thông số cần thiết

Chi tiết
Mã trạng thái HTTP 400 yêu cầu xấu
Thân hình {
"error":"oauth2_error",
"error_description":"missing required parameters: PARAM_NAME "
}
Giải trình Tham số bắt buộc, PARAM_NAME , bị thiếu trong yêu cầu mã ủy quyền.

redirect_uri chưa đăng ký trước

Chi tiết
Mã trạng thái HTTP 400 yêu cầu xấu
Thân hình {
"error":"input_data_error",
"error_description":"redirect_uri not pre-registered"
}
Giải trình Tham số redirect_uri được sử dụng trong yêu cầu mã thông báo truy cập không khớp với bất kỳ URI chuyển hướng nào được định cấu hình cho máy khách của bạn.

Yêu cầu truy cập mã thông báo

Chúng tôi khuyên bạn nên tuân thủ tiêu chuẩn OAuth này, cung cấp bảo mật tăng lên bằng cách bao gồm thông tin đăng nhập của khách hàng trong cơ thể yêu cầu. Các cuộc gọi với thông tin khách hàng trong tiêu đề sẽ tiếp tục hoạt động, nhưng không được khuyến nghị.

Yêu cầu mã thông báo truy cập ở dạng yêu cầu POST HTTP.

Thông số

Tên Kiểu Cần thiết Sự miêu tả
code chuỗi Đúng Mã ủy quyền được thông qua sau khi khách hàng của bạn đồng ý cấp cho ứng dụng của bạn quyền truy cập vào dữ liệu Nest. Giá trị này được cung cấp bởi một yêu cầu mã ủy quyền thành công.

Tìm hiểu cách thiết lập Ủy quyền
client_id chuỗi Đúng Có sẵn trên trang Khách hàng OAuth.
client_secret chuỗi Đúng Có sẵn trên trang Khách hàng OAuth; cũng có thể được gọi là khóa ứng dụng.
grant_type chuỗi Đúng Phải là chuỗi này: authorization_code

Phản ứng

Đối với tất cả các phản hồi, loại nội dung: application/json

Mã trạng thái HTTP Sự miêu tả Thân hình
200 OK Mã thông báo truy cập được trả lại. Sử dụng mã thông báo truy cập trong các cuộc gọi đến dịch vụ Nest. LONG là số giây cho đến khi mã thông báo hết hạn. {
"access_token":"STRING",
"expires_in":LONG
}

Truy cập mã thông báo trọn đời

Chúng tôi không hỗ trợ mã thông báo làm mới , vì mã thông báo truy cập thực sự không hết hạn. Xem Tổng quan về ủy quyền để biết thêm thông tin về luồng ủy quyền dựa trên web và mã PIN.

Truy cập phản hồi lỗi mã thông báo

Đối với tất cả các phản hồi, loại nội dung: application/json .

Mã ủy quyền đã hết hạn

Chi tiết
Mã trạng thái HTTP 400 yêu cầu xấu
Thân hình {
"error":"oauth2_error",
"error_description":"authorization code expired"
}
Giải trình Mã ủy quyền đã hết hạn. Mã ủy quyền mới là cần thiết để yêu cầu mã thông báo truy cập.

Không tìm thấy mã ủy quyền

Chi tiết
Mã trạng thái HTTP 400 yêu cầu xấu
Thân hình {
"error":"oauth2_error",
"error_description":"authorization code not found"
}
Giải trình Tham số code không hợp lệ. Kiểm tra xem bạn đang sử dụng mã ủy quyền chính xác.

Khách hàng không hoạt động

Chi tiết
Mã trạng thái HTTP 403 Cấm
Thân hình {
"error":"client_not_active",
"error_description":"client is not active"
}
Giải trình Kiểm tra xem bạn đang sử dụng các tham số chính xác. Nếu các tham số là chính xác và lỗi chỉ xảy ra đối với một số phương thức ủy quyền (ví dụ: ủy quyền thành công khi sử dụng Postman, nhưng không sử dụng Curl), có thể có lỗi với cú pháp của bạn.

Lỗi này cũng xảy ra nếu khách hàng của bạn bị vô hiệu hóa.

Không tìm thấy bí mật khách hàng

Chi tiết
Mã trạng thái HTTP 400 yêu cầu xấu
Thân hình {
"error":"oauth2_error",
"error_description":"client secret not found"
}
Giải trình Tham số client_secret không hợp lệ. Kiểm tra xem bạn có đang sử dụng đúng giá trị client_secret .

Thiếu thông số cần thiết

Chi tiết
Mã trạng thái HTTP 400 yêu cầu xấu
Thân hình {
"error":"oauth2_error",
"error_description":"missing required parameters: PARAM_NAME "
}
Giải trình Tham số bắt buộc, PARAM_NAME , bị thiếu trong yêu cầu mã thông báo truy cập.

redirect_uri không được phép

Chi tiết
Mã trạng thái HTTP 400 yêu cầu xấu
Thân hình {
"error":"input_error",
"error_description":"redirect_uri not allowed"
}
Giải trình Tham số redirect_uri đã được sử dụng trong yêu cầu mã thông báo truy cập.