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”}