Các giới hạn và hạn mức bảo vệ cơ sở hạ tầng của Google khỏi một quy trình tự động sử dụng Data Transfer API theo cách không phù hợp. Việc dùng một API quá nhiều yêu cầu có thể dẫn đến lỗi chính tả vô hại, hoặc có thể do một hệ thống được thiết kế không hiệu quả khiến cho các lệnh gọi API không cần thiết. Bất kể nguyên nhân là gì, việc chặn lưu lượng truy cập từ một nguồn cụ thể khi nguồn đó đạt đến một cấp độ nhất định là cần thiết đối với tình trạng chung của hệ thống Google Workspace. Công cụ này đảm bảo rằng hành động của nhà phát triển không thể gây ảnh hưởng tiêu cực đến cộng đồng lớn hơn.
Yêu cầu API không thành công
Trong trường hợp hiếm gặp là yêu cầu API của bạn không thành công, ứng dụng sẽ nhận được phản hồi mã trạng thái HTTP. Mã trạng thái của 403
có thông tin lỗi về việc nhập dữ liệu không chính xác, còn mã trạng thái HTTP của 503
có thông tin lỗi cho biết hạn mức API nào đã bị vượt quá. Những phản hồi này cho phép ứng dụng tuỳ chỉnh của bạn phát hiện những lỗi này và có biện pháp xử lý phù hợp.
Hoàn tất yêu cầu trong một khoảng thời gian cố định
Nếu yêu cầu của bạn cần được hoàn tất trong một khoảng thời gian cố định, hãy gửi song song các yêu cầu hoặc sử dụng nhiều luồng trong ứng dụng Java hoặc C#. Ví dụ: hãy phân tích yêu cầu theo tháng hoặc theo khoảng thời gian khác. Đối với luồng, hãy thử bắt đầu với 10 luồng, mỗi luồng một yêu cầu. Đề xuất về luồng có một số đánh đổi và không hữu ích cho một số trường hợp API. Nếu số lượng yêu cầu quá cao, sẽ xảy ra lỗi về hạn mức.
Lỗi dựa trên thời gian
Đối với tất cả lỗi dựa trên thời gian (tối đa N lỗi trong X giây trên mỗi luồng), đặc biệt là lỗi mã trạng thái 503
, mã của bạn nên phát hiện ngoại lệ và bằng cách sử dụng thuật toán thời gian đợi luỹ thừa, hãy đợi một độ trễ nhỏ trước khi thử lại lệnh gọi không thành công. Ví dụ về API Chuyển dữ liệu cho một luồng là đợi 5 giây rồi thử lại lệnh gọi không thành công. Nếu yêu cầu thành công, hãy lặp lại mẫu này cho các luồng khác. Nếu yêu cầu thứ hai không thành công, ứng dụng của bạn sẽ giảm tần suất yêu cầu cho đến khi một lệnh gọi thành công. Ví dụ: tăng độ trễ 5 giây ban đầu lên 10 giây rồi thử lại lệnh gọi không thành công. Ngoài ra, hãy quyết định giới hạn số lần thử lại. Ví dụ: thử lại một yêu cầu từ 5 đến 7 lần với các thời gian trễ khác nhau trước khi ứng dụng trả về lỗi cho người dùng.
Các giới hạn
Danh mục hạn mức API | Các giới hạn |
---|---|
Số truy vấn mỗi giây (QPS) | Giới hạn dự án dành cho nhà phát triển là 10 truy vấn mỗi giây (QPS) trên mỗi tài khoản. |
Hạn mức
Danh mục hạn mức API | Hạn mức |
---|---|
Số yêu cầu API tối đa mỗi ngày | Số yêu cầu API tối đa mỗi ngày là 500.000. |
Lưu trữ, hết hạn thư | Bản lưu trữ nhóm không hết hạn. Tin nhắn vẫn được lưu trữ cho đến khi nhóm bị xoá. Chính sách giữ lại email không ảnh hưởng đến thư trong mục lưu trữ của nhóm. |
Kích thước thư | Kích thước tối đa của thư là 25MB. Giới hạn này bao gồm tiêu đề siêu dữ liệu, nội dung và mọi tệp đính kèm của thư. |
Các loại giới hạn khác
Các loại giới hạn khác | Giới hạn và nguyên tắc |
---|---|
Định dạng loại nội dung | Email phải ở định dạng văn bản RFC 822 tiêu chuẩn.
Định dạng loại nội dung của yêu cầu để tải các email đã di chuyển lên sẽ sử dụng tiêu đề Content-type: message/rfc822 .
|
Định dạng dữ liệu trong phản hồi của API | Định dạng dữ liệu của phản hồi là JavaScript Object Notation (JSON). |
Chính sách vị trí dữ liệu | Data Transfer API không hỗ trợ các chính sách vị trí dữ liệu yêu cầu lưu trữ dữ liệu ở các ranh giới địa lý hoặc chính trị cụ thể vì lý do hợp đồng. Đừng sử dụng Data Transfer API nếu tài khoản của bạn cần có vị trí dữ liệu. |
Chèn thông báo song song | Data Transfer API hỗ trợ các yêu cầu song song để chèn email vào các tệp lưu trữ nhóm khác nhau. Tuy nhiên, Data Transfer API không hỗ trợ tính năng chèn thông báo song song vào cùng một kho lưu trữ nhóm. Phiên bản API này cũng không hỗ trợ yêu cầu theo lô. |
Yêu cầu không được phép | Data Transfer API không chấp nhận bất kỳ yêu cầu trái phép nào. Một yêu cầu sẽ bị coi là trái phép nếu bạn không cung cấp mã uỷ quyền. |