0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【kintone】複数のレコードの取得-kintone Rest API(初心者/入門)

Last updated at Posted at 2024-02-24

# はじめに
前回1件のレコードの取得と値の更新を行いました。
今回は複数のレコードの取得をRESTAPIで行います。

手順

  1. 数値というフィールドコードを設置
  2. 数件、数値に値を入れてください。今回のサンプル使用の際、3つレコード作成しそれぞれ1,2,4と設定していただくといいです
  3. 下記コードをコピペ保存してアプリ設定で更新
  4. 一覧を開きボタンを押して確認してください

下記のように1以上3以下の数値が入力されているレコードを取得して、数値を合計して表示する単純なサンプルとなります。
画像ですとレコードが3つあり、取得されるのが1と2が入っているレコードのみ。その合計値3をアラートで表示してます。

スクリーンショット 2024-02-24 10.05.10.png

queryの補足

この辺りは最下部の参考をご確認いただきたいですが、

  • 数値 >= "1"となっていますが、クエリを描く際はフィールコード = "値"という風に値の部分をダブルクォーテーションで囲んであげてください
  • order by フィールドコード ascで昇順。descにすると降順になります
  • limit 数字で取得件数です。現在2024年2月時点では最大500件まで取得できます。それ以上取得したい場合は別の方法で取得はできます
  • offset 0で取得位置を変えられます。該当するレコードが3件あって、2番目から取得したい場合offset 1を指定してあげてください。特殊な場合に使用するので基本指定しなくても

fieldsの補足

指定しないで省略可です.フィールドが多すぎて、特定のフィールドの値だけ取得したい時に指定してあげてください。

コード

test.js
(() => {
  'use strict';
  
  // ボタン押下時に書きかえる
  const testFunction = async () =>{
    const appId = kintone.app.getId();
    
    // 数値が1以上で3以下が入っているレコードをレコード番号昇順で最大100個。
    // 取得する位置(offset)は最初の位置から
    const body = {
      app: appId,
      query: '数値 >= "1" and 数値 <= "3" order by レコード番号 asc limit 100 offset 0',
      fields: ['レコード番号', '数値']
    };
    const res = await kintone.api(kintone.api.url('/k/v1/records.json', true), 'GET', body);
    const records = res.records
    
    // 合計値をいれる変数
    let total = 0
    // 取得したrecordsの数値の合計
    records.map(record =>{
      // kintoneの値は文字で帰ってくるのでNumberやpaserIntで数値にしてあげてください。
      total += Number(record["数値"].value)
    })
  
    
    alert(`合計は${total}だよ`);
  }
  
  // レコードの一覧画面で実行していきます
  kintone.events.on('app.record.index.show', (event) => {

    // ボタンの設置と作成
    const button = document.createElement("button")
    button.innerText = "実行"
    button.addEventListener("click",testFunction)
    
    // kintoneに表示する要素(位置)を取得して、ボタンを設置。
    const el = kintone.app.getHeaderMenuSpaceElement()
    el.appendChild(button)

  // 必ずeventを返してあげる
  return event
    
  });
  
})();

おわりに

RESTAPIを使って複数のレコードを取得してみました。kintoneの使用頻度も高く、特定の条件に揃ったレコードを取得集計でき、これを使うだけで社内でスーパーヒーロ-になれる可能性もなくはないかも知れません:metal:

bodyに設定したパラメータ周りは詳しく公式ドキュメントにもわかりやすく書いてありますので参考ご確認ください。

それでは

楽しいkintoneライフを:relaxed:

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?