NextEngineのAPI
認証のためにアクセストークンが必要です。
oAuthっぽいプロトコルだけど、Railsでのdevise+omniAuthで動きます。
deviseプラグイン欲しい人は声かけてください。
トークンが更新タイミングがわからない
明示的にトークンを更新する手段がないので、ループアクセス最中などにトークンがかわるケースがある。そのために、途中でAbortするケースが多々ある。また、ログインをするとかならず変わる。
実験の結果
10分に1回、企業情報をとるAPIにアクセスをした。するとトークンが発行されて24hを越えた最初のアクセスのタイミングで更新がされる。逆に言えば、連続アクセス中に24時間を経過した場合に、突然トークンが更新されたりする。そのため、かなりめんどくさい。
対応方法
要はアクセスされる前に更新しちゃえばいい。なので、バッチジョブの前に企業情報にアクセスするなどの処理をすることその時点で更新可能なトークンは更新処理を走らせることができる。そのため、「バッチ処理中に24時間を経過したパターン」以外は回避できる。専用ユーザーを用意して、常にバッチ処理前に更新処理ができるか、「常に最も更新日時が新しいユーザー」をアクセスにすることで実用上は問題は回避できる気がする。
結論
有効期限内でAPI経由で意図的かつ明示的に更新できないのつらい。