クエリ部分の条件に合致するものが500件を超えており、すべて取得したい場合ですが
1:まずは件数取得
レコードの取得のAPIをtotalCount = true で投げ、条件に合致する件数を取得。
https://cybozudev.zendesk.com/hc/ja/articles/202331474
2:合致する件数に達するまで、offsetをずらしながら取得を続ける。
といった処理でやるしかないでしょうか?
一度に取得する件数に上限があるのは、やむをえないと思いますが
クエリで指定した条件に一致する件数「だけ」取得するAPIコマンドがあると便利なのですが・・・。
shinichi.minoshima さん
そうですね。limit と offset を使ってループするしか方法はないと思います。
私の場合は、totalCountは取得せず、単純にループでまわして、レスポンスのレコード件数が500件未満になった時点で、全件取得できたと判断する様にしています。
というか、totalCount=true という便利なパラメータがあるんですね。知りませんでした。
全件取得のループを切る条件は、おふたりがおっしゃているいずれかになると思いますが、処理の記述方法としてはTipsにあるような再帰でやるケースが多いような気がします。totalCountで上限を確認して、kintone.Promise.all() と map による並行処理でやることも考えられますが、経験上安定しないケースがあったりもしますので、再帰等による直列処理が良いかと思います。
ただ、実は全件取得に特化した関数だと見るべき内容です。limit=1を突っ込んだりすると、ちまちまと1件ずつ処理するような動きになってしまいますので。汎用的に使うには改善が必要ですね。