Googleスプレッドシート

gspreadでエラー!APIError: {‘code’: 500, ‘message’: ‘Internal error encountered.’, ‘status’: ‘INTERNAL’} Pyrhon初心者

python ロゴ

gspreadで以下のエラーが発生しました。

APIError: {‘code’: 500, ‘message’: ‘Internal error encountered.’, ‘status’: ‘INTERNAL’}

見たことある気がするけれど、久しぶりにgspreadを触ったので何のエラーなのかわからないため調べてみました。

過度なリクエストでエラー

SheetsAPIでスプレッドシートにリクエストを送る場合、以下のルールがあります。

Quotas
Read requestsPer day per project Unlimited
Per minute per project 300
Per minute per user per project 60
Write requestsPer day per project Unlimited
Per minute per project 300
Per minute per user per project 60

読み書きのリクエストに対してユーザーがリクエストを送れるのは1分間に60リクエストまでです。gspreadでも同じで1分間に60リクエストまでです。

また1分間に60リクエストも送っていない場合はGCPの上限の値が変わっている可能性があるため確認してみるといいかもしれません。(組織で実施している場合変わっている場合があるかも)

ちなみにSheetsAPIだと以下のエラーになるそうです。

429: Too many requests

エラー対応方法

タイムスリープなどを処理の間に入れて、1分間に60リクエスト超えないようにしましょう。

おわり

プログラムだと処理が早くて1分間に60リクエストなんてあっという間に超えてしまいますね。自動処理の速さに驚くと共に、Googleって本当に便利。

参考元

https://developers.google.com/sheets/api/limits
https://stackoverflow.com/questions/58867054/gspread-exceptions-apierror-error-code-500

COMMENT

メールアドレスが公開されることはありません。