@kintone/rest-api-client のポイントまとめ

Featured Image(Photo) by KOBU Agency on Unsplash

はじめに

@kintone/rest-api-client使っていますか?kintone JS SDKがVer1を迎えることなくリリースされた@kintone/rest-api-client。頼むよ・・・という気持ちで@kintone/rest-api-clientに移行しています。

ここではつまったことなどをメモしておきます。

IPアドレス制限

IPアドレス制限利用時にはbasicAuthもしくはclientCertAuthを指定する必要があります。

このとき、baseUrlはセキュアアクセス用のURL「https://(サブドメイン名).s.cybozu.com/」を指定する必要があります。ハマりました・・・

upsertRecord

upsertRecordでレコード更新できないじゃないか!とハマったのでメモしておきます。

try {
  const client = new KintoneRestAPIClient();
  const res = await client.record.upsertRecord({
    app: "xxx",
    updateKey: { field: "会社コード", value: "0001" },
    record: {
      会社名: { value: "あいうえお" },
      会社コード: { value: "0001" },
    },
  });
  console.log("res:", res);
} catch (err) {
  console.error(err, err.message);
}

レコードがない場合は登録できます。

res: {id: “1”, revision: “1”}

レコードがある場合はエラーになります。なぜ・・・

[400] [CB_VA01] 入力内容が正しくありません。

ソースコードを見てみるとupdateKeyはrecordに含めないのが正しいようです。

  const res = await client.record.upsertRecord({
    app: "xxx",
    updateKey: { field: "会社コード", value: "0002" },
    record: {
      会社名: { value: "あいうえお" },
    },
  });

レコードがない場合は登録できます。

res: {id: “2”, revision: “1”}

レコードがある場合は更新できました!

res: {id: “2”, revision: “2”}

この記事を書いた人