制限と割り当てにより、Reports API を不適切な方法で使用する自動プロセスから Google のインフラストラクチャが保護しています。API から過剰なリクエストが発生する原因としては、無害なタイプミスや、非効率的な設計のシステムで不要な API 呼び出しが行われることが考えられます。原因にかかわらず、特定のソースからのトラフィックが一定のレベルに達した場合は、Google Workspace システムの全体的な健全性のために、そのソースからのトラフィックをブロックする必要があります。あるデベロッパーの行為が、より大きなコミュニティに悪影響を与えることがないようにします。
万が一 API リクエストが失敗した場合は、HTTP ステータス コード レスポンスが返されます。ステータス コード 403 には入力ミスに関するエラー情報が含まれ、HTTP ステータス コード 503 には超過した API 割り当てを示すエラー情報が含まれます。これらのレスポンスにより、カスタム アプリケーションでこれらのエラーを検出し、適切な措置を講じることができます。
リクエストを一定の時間内に完了する必要がある場合は、リクエストを並行して送信するか、Java または C# アプリケーションで複数のスレッドを使用します。並列リクエストの例として、1 人のユーザーの多数のメールを同時に追加または削除するのではなく、異なる複数のユーザーのメールの小さなバッチをリクエストします。スレッドの場合は、1 ユーザーのメールアドレス 1 通につき、10 個のスレッドから始めてみてください。スレッドの推奨事項にはトレードオフがあり、すべての API の状況に役立つわけではありません。リクエスト数が多すぎると、割り当てエラーが発生します。
時間ベースのすべてのエラー(スレッドあたり最大 N 秒 N 秒)、特に 503 ステータス コード エラーについては、コードで例外をキャッチし、指数バックオフアルゴリズムを使用して、わずかな遅延を待ってから、失敗した呼び出しを再試行することをおすすめします。1 つのスレッドに対する Reports API の例では、5 秒待ってから、失敗した呼び出しを再試行します。リクエストが成功したら、他のスレッドに対してこのパターンを繰り返します。2 番目のリクエストが成功しなかった場合、アプリケーションは、呼び出しが成功するまでリクエストの頻度で縮小する必要があります。たとえば、最初の 5 秒間の遅延時間を 10 秒に増やし、失敗した呼び出しをもう一度再試行します。また、再試行の上限も決定します。たとえば、さまざまな遅延時間でリクエストを 5 ~ 7 回再試行すると、アプリケーションがユーザーにエラーを返します。
API の制限のカテゴリ | 上限 |
---|---|
QPS と QPD レートを報告する | この API では、Google Cloud プロジェクトのリクエスト数が制限されます。Google Cloud コンソールで設定されるデフォルト値は、Google Cloud プロジェクトごとにユーザーごとに 1 分あたり 2,400 件のクエリです。この上限は、Google Cloud プロジェクトの Admin SDK API の割り当てページで増やすことができます。 これらの上限を超えると、サーバーから HTTP 503 ステータス コードが返されます。リクエストを再試行する場合は、指数バックオフ アルゴリズムを使用します。 |
API 割り当てのカテゴリ | 割り当て |
maxResults | API のレスポンスの各ページにリストされるレコード数は、1 ~ 1,000 イベントです。デフォルトは 1,000 レコードです。 |
その他の制限の種類 | 制限事項とガイドライン |
---|---|
データ形式、デフォルト | デフォルトのデータ形式は JSON です。API は Atom 形式もサポートしています。 |
未承認のリクエスト | Google では、この API に対する不正なリクエストを許可していません。認証トークンが指定されていない場合、リクエストは未承認とみなされます。詳細については、リクエストの承認をご覧ください。 |
警告メッセージ |
|