kintone REST API でレスポンスの値を判定するコツ

フォローする

(著者:サイボウズ 川村 知之)

はじめに

今回は実際に起こったトラブルを例にコーディングを見直そうと言うお話です。
みなさんkintone REST APIでレコードを取得(GET)処理を記述することがあると思います。
kintoneAPIではGETで一度に取得できるレコード数の上限が500件(2015年8月現在)となっており、
500件以上の処理をさせる場合ループして残りのレコードを取得する必要があります。

それではトラブルが起こったソースの例を見て行きましょう。

トラブルが起こった例

何が問題か!?

上記のソースではループ終了の判定をレスポンスの文字列で判定していました。(12行目)
しかし、2015年7月のアップデートでレスポンスに"totalCount"要素が付属されれたことにより
レスポンスの結果が「{"records":[],"totalCount":null}」に変わってしまい、比較が正常行えない状態になってしまいました。

レスポンスはjson形式で返ってきますので、parseして「records.length」等を使用し、文字列としてではなくデータとして扱うことをおすすめします。

推奨する例

最後に

アップデートに伴いレスポンスに付帯情報が追加される場合があるため、上記のようにレスポンス結果の文字列をそのまま使用するのは大変危険です。
必ずparseしてからデータとして扱うようにしましょう。

また、下記のリンク先の記事を参考にしていただくとよりモダンなコーディングが可能となります。

これからのkintoneライフにお役に立てれば幸いです。

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

ログインしてコメントを残してください。
Powered by Zendesk