Workato × Graph APIで「Retry-After」が取れなかった話(2025年4月)

GraphAPI

Microsoft Graph APIを使って、OneDrive上のExcelファイルをWorkatoで更新する仕組みを作っていたときの話です。

順調に動いていたかと思いきや、APIの呼び出しが増えてくると突然のエラー。内容は…

429 Too Many Requests

どうやら呼び出し過ぎてしまったようで、「しばらく待ってからまた呼んでね」というやつですね。

Retry-Afterって…取れないの?

HTTP 429が返ってくると、通常はレスポンスヘッダーに Retry-After という項目がついてきます。これを見て「何秒後に再試行すればいいのか」がわかるわけですが…

Workatoのカスタムアクションでは、このRetry-Afterが取得できませんでした。

設定ミスかと思いサポートに問い合わせたところ、

「設定自体に問題はないですが、現状の仕様ではRetry-Afterヘッダーは取得できません

とのこと。まじか…。

とりあえずの対応策

今回は暫定対応として、30秒待ってから再試行するバックオフ戦略を入れて乗り切りました。

(とはいえ、本当はRetry-Afterの値が取れるのが理想ですよね…)

おまけ:MS公式のベストプラクティス

「どうすればスロットリング(制限)されにくくなるか?」については、Microsoft公式のこちらに詳しく載っています:

👉 https://learn.microsoft.com/graph/workbook-best-practice#reduce-throttling-errors


今後Workato側で対応が入ることを期待しつつ、しばらくは手動バックオフで付き合っていくことになりそうです。

タイトルとURLをコピーしました