Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

Giới hạn tốc độ dữ liệu

Chúng tôi muốn các nhà phát triển tạo ra trải nghiệm người dùng hấp dẫn, nhưng chúng tôi cũng muốn dịch vụ và thiết bị Nest luôn khả dụng cho người dùng. Các sản phẩm tạo ra một số lượng lớn yêu cầu trong một khoảng thời gian nhất định có thể ảnh hưởng đến dịch vụ và tính khả dụng của thiết bị, vì vậy chúng tôi áp dụng giới hạn giá. Giới hạn tốc độ hạn chế số lượng lệnh gọi API trong một khoảng thời gian nhất định.

Các loại giới hạn tỷ lệ

Chúng tôi đã thực hiện hai lớp giới hạn tỷ lệ. Các giới hạn đầu tiên là mỗi thiết bị hoặc cấu trúc mỗi giờ. Các giới hạn này được chia sẻ trên tất cả các sản phẩm Hoạt động với Nest và nhằm ngăn việc sử dụng quá mức các thiết bị. Lớp thứ hai của giới hạn là mỗi access token. Các giới hạn này được thiết kế để ngăn chặn việc sử dụng quá mức dịch vụ Nest.

Giới hạn cho mỗi thiết bị / cấu trúc

Mỗi lần ghi vào mô hình dữ liệu yêu cầu thiết bị phải đánh thức và trạng thái đồng bộ hóa. Điều này có thể ảnh hưởng đến tuổi thọ pin, vì vậy chúng tôi giới hạn số lần ghi vào các thiết bị và cấu trúc. Chúng tôi cũng theo dõi tình trạng pin của tất cả các thiết bị. Nếu chúng giảm xuống dưới một ngưỡng nhất định, chúng tôi sẽ từ chối yêu cầu ghi cho đến khi pin được sạc lại.

Mỗi giới hạn mã thông báo truy cập

Mỗi mã thông báo truy cập cũng có một giới hạn tỷ lệ liên quan. Việc thiết lập kết nối với dịch vụ phát sinh một số chi phí, vì vậy chúng tôi giới hạn số lượng kết nối mà một sản phẩm có thể thực hiện trong một khoảng thời gian cụ thể.

Đối với các cuộc gọi trực tuyến REST và REST, mỗi mã thông báo truy cập có số lượng cuộc gọi giới hạn. Giới hạn tốc độ dữ liệu áp dụng cho các cuộc gọi đọc / ghi qua REST và cho các cuộc gọi đã đọc qua truyền trực tuyến REST. Để tránh lỗi, chúng tôi khuyên bạn nên giới hạn yêu cầu tối đa một cuộc gọi mỗi phút.

Phản hồi lỗi

Khi sử dụng REST của bạn sẽ nhận được một mã phản hồi của 429 Quá nhiều yêu cầu.

Xử lý chuyển hướng 307

Khi thực hiện REST của cuộc gọi, sản phẩm của bạn sẽ cần phải xử lý 307 chuyển hướng. Còn được gọi là chuyển tiếp URL, phản hồi Chuyển hướng tạm thời 307 cung cấp một URL mới để trình duyệt gửi lại yêu cầu.

Khi chuyển hướng 307 xảy ra, bạn sẽ cần thực hiện lại cuộc gọi với thông tin URL mới. Khi thực hiện việc này, bạn nên lưu vào bộ nhớ cache số máy chủ và cổng để sử dụng trong các cuộc gọi sau này với mã thông báo truy cập / người dùng đó. Hãy nhớ rằng mỗi cuộc gọi được tính vào giới hạn tỷ lệ. Xem xét cách người dùng tương tác với sản phẩm của bạn. Một số người dùng sẽ nhấn nút hoặc chọn một cài đặt liên tục, vì vậy nếu bạn thực hiện lệnh gọi cho mọi hành động của người dùng, điều đó có thể ảnh hưởng rất nhanh đến giới hạn tỷ lệ. Nếu người dùng thực hiện một loạt thay đổi liên tiếp nhanh chóng, bạn chỉ nên thực hiện lệnh gọi API cho giá trị cuối cùng (gần đây nhất).

Để biết thêm thông tin và một ví dụ, xem Làm thế nào để xử lý chuyển hướng .

Chuyển hướng sau 307

Nếu bạn đang sử dụng thông tin URL chuyển hướng và nhận được chuyển hướng 307 sau đó, bạn nên thực hiện theo chuyển hướng đó.

Lỗi kết nối

Nếu bạn đang sử dụng thông tin URL được lưu trong bộ nhớ cache và gặp lỗi kết nối (do máy chủ không hoạt động hoặc trang web ngừng hoạt động), bạn nên hoàn nguyên về URL cơ sở ban đầu.

Thay đổi giới hạn tỷ lệ

Khi chúng tôi tìm hiểu thêm về các hình thức sử dụng và tác động của chúng đối với dịch vụ, chúng tôi có thể thấy cần phải sửa đổi các giới hạn tỷ lệ. Chúng tôi đặc biệt khuyến khích bạn tạo sản phẩm của mình để sử dụng số lượng cuộc gọi tối thiểu cần thiết để xây dựng trải nghiệm người dùng hấp dẫn và để đối phó với các vi phạm giới hạn tỷ lệ một cách thích hợp.