한도 및 할당량은 부적절한 방식으로 Reports API를 사용하는 자동화된 프로세스로부터 Google 인프라를 보호합니다. API에서 발생하는 과도한 요청은 무해한 오타로 인해 발생하거나 불필요하게 API를 호출하는 비효율적으로 설계된 시스템으로 인해 발생할 수 있습니다. 원인에 관계없이 특정 소스의 트래픽이 일정 수준에 도달하면 Google Workspace 시스템의 전반적인 상태를 위해 해당 소스의 트래픽을 차단해야 합니다. 한 개발자의 행동이 더 큰 커뮤니티에 부정적인 영향을 미치지 않도록 합니다.
드물지만 API 요청이 실패하면 HTTP 상태 코드 응답이 수신됩니다. 상태 코드 403에는 잘못된 입력에 대한 오류 정보가 있고 HTTP 상태 코드 503에는 어떤 API 할당량이 초과되었는지를 나타내는 오류 정보가 있습니다. 이러한 응답을 통해 커스텀 애플리케이션이 이러한 오류를 감지하고 적절한 조치를 취할 수 있습니다.
정해진 시간 내에 요청을 완료해야 하는 경우 요청을 병렬로 보내거나 Java 또는 C# 애플리케이션에서 여러 스레드를 사용하세요. 동시 요청의 예로는 한 사용자의 많은 이메일을 동시에 추가하거나 삭제하는 대신 다른 사용자에게 소량의 이메일을 일괄 요청하는 것을 들 수 있습니다. 대화목록의 경우 사용자 이메일당 하나의 대화목록, 10개의 대화목록으로 시작해 보세요. 스레드 권장사항에는 장단점이 있으며 모든 API 상황에 유용하지는 않습니다. 요청 수가 너무 높으면 할당량 오류가 발생합니다.
시간 기반의 모든 오류 (스레드당 N초 동안 최대 N개 항목), 특히 503 상태 코드 오류의 경우 코드가 예외를 포착하고 지수 백오프 알고리즘을 사용하여 약간의 지연을 기다렸다가 실패한 호출을 다시 시도하는 것이 좋습니다. 한 스레드에 대한 Reports API의 예는 5초 동안 대기한 후 실패한 호출을 다시 시도하는 것입니다. 요청이 성공하면 다른 스레드에도 이 패턴을 반복합니다. 두 번째 요청이 성공하지 못하면 애플리케이션은 호출이 성공할 때까지 요청 빈도에 맞춰 축소해야 합니다. 예를 들어 처음 5초의 지연 시간을 10초로 늘린 후 실패한 통화를 다시 시도합니다. 재시도 한도를 결정합니다. 예를 들어 애플리케이션이 사용자에게 오류를 반환하기 전에 지연 시간을 다르게 하여 요청을 5~7번 재시도합니다.
API 한도 카테고리 | 한도 |
---|---|
QPS 및 QPD 속도 보고 | API는 Google Cloud 프로젝트의 요청 수를 제한합니다.
Google Cloud 콘솔에 설정된 기본값은 Google Cloud 프로젝트별로 사용자당 분당 쿼리 2,400개입니다.
Google Cloud 프로젝트의 Admin SDK API 할당량 페이지에서 이 한도를 늘릴 수 있습니다.
이 제한을 초과하면 서버에서 HTTP 503 상태 코드를 반환합니다. 요청을 재시도할 때 지수 백오프 알고리즘을 사용합니다. |
API 할당량 카테고리 | 할당량 |
maxResults | API 응답의 각 페이지에 나열된 레코드 수는 1~1,000개 이벤트입니다. 기본값은 레코드 1,000개입니다. |
기타 한도 유형 | 제한사항 및 가이드라인 |
---|---|
데이터 형식, 기본값 | 기본 데이터 형식은 JSON입니다. API는 Atom 형식도 지원합니다. |
승인되지 않은 요청 | Google은 API에 대한 승인되지 않은 요청을 허용하지 않습니다. 승인 토큰이 제공되지 않으면 요청이 승인되지 않은 것으로 간주됩니다. 자세한 내용은 요청 승인을 참조하세요. |
경고 메시지 |
|