API エラーのトラブルシューティング

このページでは、Sheets API で発生するエラーのトラブルシューティング方法について説明します。

400 Bad Request

このエラーは、リクエストの形式が正しくないことを示します。これらのリクエストのトラブルシューティングについては、リファレンス ドキュメントサポートページをご覧ください。

500 Internal Server Error

通常、Sheets API の使用時に 500 エラーが発生した場合は、API 自体に問題があることを示します。エラーの原因となったリクエストを添えて、Sheets API の Issue Tracker にバグレポートを提出します。

503 Service Unavailable

Sheets API は、サービスが利用できないときや、リクエストまたはスプレッドシートの複雑度が高いときに 503 エラーを返します。以下に、API リクエストと基盤となるスプレッドシートを変更して 503 エラーの発生率を制限するためのヒントを示します。

リクエスト

  • batchUpdate を使用して、関連する更新を 1 つのリクエストにまとめます。大きな更新をバッチ処理する場合は、タイムアウトが発生する可能性があるため注意が必要です。
  • スプレッドシートあたりの API への同時リクエスト数を 1 秒あたり 1 件に制限します。
  • スプレッドシートが大きい場合は、A1 表記を使用して必要なスプレッドシート値のみを取得し、includeGridData の使用を制限します。
  • フィールド マスクを使用して、API から返されるデータの量を制限します。
  • リクエストを再試行する際には、指数バックオフを使用する。

スプレッドシート

  • 頻繁に更新されるシートの場合は、定期的に新しいスプレッドシートにローテーションして、バージョンの蓄積を減らします。
  • IMPORTRANGEQUERY などの複雑な数式の使用を制限します。
  • サイズの大きなスプレッドシートは、複数のスプレッドシートに分割することを検討してください。
  • 多くの IMPORTRANGE 数式のソースとして 1 つのスプレッドシートを使用することを制限します。
  • スプレッドシートへのアクセスは、必要なユーザーにのみ制限します。