はじめに
レコードを一括取得する方法には、大きく3つの選択肢があり、利用ケースに応じて適切な方法を選択する必要があります。
それぞれの方法の特徴や使い分けについては、こちらの記事で紹介しているので、ご参照ください。
この記事では、各方法の JavaScript のコーディング例を紹介します。
共通事項
- 各方法の getRecords 関数を呼び出すサンプルコードでは、アプリストアの「案件管理」アプリを利用しています。
- フィールドコードは、フィールド名と同じに設定しています。
方法 1 レコード ID を利用する方法
レコード一括取得 API で、レコード ID(レコード番号)の昇順でソートを行い、ID 順にレコードを取得する方法です。
サンプルコード
レコードを取得する関数
getRecords 関数の呼び出し例
- 絞り込み条件・ソート条件・取得するフィールドを指定した場合
※ レコード ID を利用してレコードを取得する場合は、sortConds に「'$id asc'」を追加してください。
- 指定しない場合
※ アプリ ID を指定しない場合は、表示中のアプリのレコードを取得します。
方法 2 カーソル API を利用する方法
カーソル API を使ってレコードを取得する方法です。
サンプルコード
レコードを取得する関数
getRecords 関数の呼び出し例
- 絞り込み条件・ソート条件・取得するフィールドを指定した場合
- 指定しない場合
※ アプリ ID を指定しない場合は、表示中のアプリのレコードを取得します。
方法 3 offset を利用する方法
レコード一括取得 API を使い、リクエストパラメータの offset を指定して順次レコードを取得する方法です。
※取得するレコードが10,000件以内である場合や、取得するレコードを10,000件以内に制限出来る場合に使用できます。
offset の制限値を考慮した kintone のレコード一括取得についての基本的な考え方はこちらの記事を参照してください。
サンプルコード
レコードを取得する関数
getRecords 関数の呼び出し例
- 絞り込み条件・ソート条件・取得するフィールドを指定する場合
- 指定しない場合
※ アプリ ID を指定しない場合は、表示中のアプリのレコードを取得します。
@kintone/rest-api-client の getAllRecordsを使えば
カーソルを意識しなくてもスムーズにリクエスト投げられるので、今後はこっちが王道だと思います。
https://github.com/kintone/js-sdk/blob/master/packages/rest-api-client/docs/record.md#getAllRecords
7月に向けて、このツールの啓蒙に力入れて頂くのが一番良いのではないでしょうか。
まだあんまり知られてなくて、大変勿体無いです。
いつもお世話になっております。ハンと申します。
方法1を用いて以下の実装をしましたが、エラーは出ました。原因について分かる方がいらっしゃいましたら、教えてください。よろしくお願いします。
■ 実装内容:kintoneの編集画面にボタンを配置し、ボタンを押下されると関数「setResult」が実行され、指定フィールドのデータを更新する。
ソースコードの詳細は以下となります
ハン 様
お世話になっております。cybozu developer network 事務局です。
恐れ入りますが、こちらのコメント欄は記事内容のフィードバック目的となっているため、
記事から派生した技術的なご質問は、cybozu developer コミュニティをご活用ください。
ご質問を新規投稿する際、「良い質問をするためのガイド」というものが表示されますので、
それに沿って質問を記載いただくと、回答がつきやすくなると存じます。
よろしくお願い致します。