gspreadで以下のエラーが発生しました。
APIError: {‘code’: 500, ‘message’: ‘Internal error encountered.’, ‘status’: ‘INTERNAL’}
見たことある気がするけれど、久しぶりにgspreadを触ったので何のエラーなのかわからないため調べてみました。
Contents
過度なリクエストでエラー
SheetsAPIでスプレッドシートにリクエストを送る場合、以下のルールがあります。
Quotas | |
---|---|
Read requests | Per day per project Unlimited Per minute per project 300 Per minute per user per project 60 |
Write requests | Per 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