[kintone] REST APIでレコードの一括取得

ソースコード

一括取得

let query = 'Input_Department = "@DEPARTMENT@" and レコード番号 != @RECORD_NO@';
query = query.replace('@DEPARTMENT@', e.record['Input_Department'].value);
query = query.replace('@RECORD_NO@', e.recordId);
let body = {
    app: e.appId
		, query: query
    , fields: ['レコード番号', 'Input_Name']
};
const response = await kintone.api(kintone.api.url('/k/v1/records.json', true), 'GET', body);
  • レコードを取得処理はSQLに近い書き方をする
  • query がWhere句であり、fieldsがSelect句に相当する。
  • 一度の取得件数は最大500件

レコードへの参照

// レコードを1件取得する
const record = response.records[0];

// テキストの参照
// record[フィールドコード].value
console.log(record['Input_Name'].value);

// テーブルの参照
// .record[フィールドコード(Table)].value.[index].value.[フィールドコード(列ごと)].value
let table_rows = record['TestTable01'].value;
table_rows = table_rows.map((row) => {
    return row['value'];
});
// table[index]['フィールドコード(列ごと)'].value
console.log(table_rows[0]['Text01'].value);
  • 取得されたJSONデータはネストが深いため、テーブルはいったん変数に格納したほうが良い。
  • また、テーブルは.valueの出現回数が多いため、一回分省略するために.mapを呼んでいる。