【kintone】kintone-rest-api-clientで複数レコードを登録する方法

1377
【kintone】kintone-rest-api-clientで複数レコードを登録する方法

はじめに

kintoneにレコードを登録する際にそのまま追加するのであればkintone標準の機能の「ファイルから読み込む」を使用すれば良いですが、データを整形しながらレコード追加することはできないので「kintone-rest-api-client」を使えば簡単です。
その他にも定期実行でレコードを追加したい時にも「kintone-rest-api-client」を使えば簡単です。

この記事を読めばkintone-rest-api-clientを使用して、kintoneに複数レコードを登録できるようになります。

※ 複数レコードを一括で登録する場合はwebhookは起動しません。
起動させたい場合は1レコードずつ登録する必要があります。

前提条件

  • TypeScriptの環境があること
  • kintoneが使用出来ること
  • Node.jsがインストールされていること
  • Yarnがインストールされていること

操作手順

1. パッケージのインストール

1. kinton-rest-api-clientをインストール

$ yarn add @kintone/rest-api-client

2. 実際にプログラムを書いていこう!

今回はenvファイルは使用せずプログラムを書いていきます。

準備するもの

  • kintoneのURL
  • レコード追加先のアプリのID
  • レコード追加先のアプリのAPI Token

API Tokenの取得方法
参考サイト:https://jp.cybozu.help/k/ja/user/app_settings/api_token.html

サンプルコード

複数のレコードを登録するには「addAllRecords」を使用します
import { KintoneRestAPIClient } from "@kintone/rest-api-client";

//アプリ接続設定
const KINTONE_BASE_URL = "https://example.cybozu.com";
const API_TOKEN = "your-kintone-api-token";
const APP_ID    = "アプリのID";
const Client = new KintoneRestAPIClient({
  baseUrl: KINTONE_BASE_URL,
  auth: { apiToken: API_TOKEN },
});

// kintoneに登録する値
const records = [
    {
        フィールド名1: { value: "おはようございます" },
        フィールド名2: { value: "こんにちは" },
        フィールド名3: { value: "こんばんは" }
    },
    {
        フィールド名1: { value: "はいさい" },
        フィールド名2: { value: "ぬー" },
        フィールド名3: { value: "なんくるないさ" }
    }
];

// kintoneに登録する処理
async function kintoneAddRecords(records: any[]) {
    const addRecordRequest = {
        "app": APP_ID,
        "records": records
    };
    await Client.record.addAllRecords(addRecordRequest);
};

kintoneAddRecords(records);

実行方法

$ yarn ts-node index.ts

2レコード作成されていれば成功です!

添付ファイルフィールドにファイルを追加することもできます。
それは別の記事に書く予定です。