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 などの複雑な数式は使用しないでください。
  • サイズの大きいスプレッドシートは複数のスプレッドシートに分割することを検討してください。
  • 1 つのスプレッドシートを多数の IMPORTRANGE 数式のソースとして使用することを制限する。
  • 必要なユーザーのみにスプレッドシートへのアクセスを制限する。