AWS Lambda(node.js)からkintone REST API(addRecord)を実行する方法(チェックボックス)

AWS Lambda(node.js)からkintone REST API(addRecord)を実行する方法(チェックボックス)

普通のレコードにレコード追加するのは簡単ですがチェックボックスのレコードに対してaddRecordするのは少し面倒です。

@kintone/rest-api-clientモジュールを使用して実現します。

npm init -y
npm i @kintone/rest-api-client
touch index.js

チェックボックス

赤枠部分にチェックボックスを追加しています。入る値は「ON」「OFF」です。

AWS Lambda(node.js)からkintone REST API(addRecord)を実行する方法(チェックボックス)

index.js

LambdaはESMで記述しています。kintoneが提供しているREST APIの「レコードの登録(1件)」のAPIを使用して1件を顧客リストアプリに登録します。その際に「OFF」を設定して登録します。

import { KintoneRestAPIClient } from '@kintone/rest-api-client'
export async function handler(event, context) {
  const client = new KintoneRestAPIClient({
    baseUrl: 'https://xxxxxxxxxx.cybozu.com',
    auth: {
      username: 'ログインID',
      password: 'パスワード'
    }
  })
  const results = await client.record.addRecord(
    {
      app: '4', // 顧客リストアプリのID
      record: {
        'company':{'value': '株式会社CONFRAGE'},
        'department':{'value': '営業管理部'},
        'checkbox':{'value': ['OFF']} // ★ 配列で囲む必要がある
      }
    }
  )
  return {
    statusCode: 200,
    body: `Hello`
  }
}

チェックボックスですから、配列にON,OFF両方指定してチェックすることも可能です。

'checkbox':{'value': ['OFF']}
 ↓
'checkbox':{'value': ['OFF','ON']}

両方ともチェックしない場合、[]を渡す必要があります。nullや空文字の場合エラーとなりますので、空配列を渡します。

zip圧縮

簡単に試すために7zでzip圧縮し、Lambdaデプロイします。

AWS Lambda(node.js)からkintone REST API(addRecord)を実行する方法(チェックボックス)

「Test」を押します。顧客アプリを見ます。

AWS Lambda(node.js)からkintone REST API(addRecord)を実行する方法(チェックボックス)

レコードが1件登録されていることが確認できます。その際にチェックボックスが「OFF」となってレコードが追加されています。

参考サイト

AWS Lambda(node.js)からkintone REST API(addRecord)を実行する方法(サブテーブル)

https://github.com/kintone/js-sdk/blob/master/packages/rest-api-client/docs/record.md#addRecord

コメント

タイトルとURLをコピーしました