みなさん、はじめまして。
最近、会社でkintoneを導入して投稿させて頂きましてトシボウと申します。
・契約中のコース: スタンダード
現在、レコード詳細画面に作成したボタンをクリックすると、詳細画面に表示されているレコードの特定のフィールドの値を、全レコードへ反映(更新)するといった、オリジナルのプラグインを作成しております。
kintone Rest APIにて、レコードの全件取得までは問題なく動作していますが、mapメソッドにて特定のフィールドの値を変更しようとしたところで、「Failed to load resource: the server responded with a status of 400 (Bad Request)」というメッセージが表示され、レコードの一括更新ができていません。
オンラインでの構文チェックでも、特に構文ミスが無いようで頭を悩ませております。
以下に、mapメソッド以降のコードを記載致します。
もしかすると初歩的なミスかもしれませんが、ご教示の程、宜しくお願いします。
const putAllRecordsObj = getAllRecords.map((record) => {
const recordId = record.レコード番号.value;
const newfirst_day = record.first_day.value;
const newlast_day = record.last_day.value;
return {
id: recordId,
records: {
first_day: {
value: newfirst_day,
},
last_day: {
value: newlast_day,
},
},
};
});
const putAllRecords = await new KintoneRestAPIClient().record.updateAllRecords({
app: kintone.app.getId(),
records: putAllRecordsObj
})
.then(function (resp) {
console.log('putAllRecords', resp);
return resp;
})
.catch(function (error) {
console.log(error);
});
};
const headerMenuSpace = kintone.app.record.getHeaderMenuSpaceElement();
headerMenuSpace.appendChild(menuButton);
return event;
});
})();
※ 特定のフィールド: first_day,last_day
変数: newfirst_day,newlast_day
ミュートしたユーザーの投稿です。
投稿を表示トシボウさん、はじめまして!
オリジナルのプラグイン作成に取り組まれているんですね✊
そんな中、せっかく書込みいただたところ申し訳ありません。
キンコミでは具体的なソースコードや開発の話題をお控えいただいております。
▽背景
https://kincom.cybozu.co.jp/announcements/usqgdm8qhozt0oau
カスタマイズなどの話題・相談は、「cybozu developer network」をご活用いただければと思います。こちらにもコミュニティのページがあり、知識・経験を持った方がより多く集まる場所になっています。
▶︎cybozu developer network
https://cybozu.dev/ja/
ご利用の際は、「よくある質問」のページもご一読ください。
▶︎cybozu developer network でよくある質問
https://cybozu.dev/ja/getting-started/site-faq/#community
何卒ご理解いただけますと幸いです。
今後ともキンコミをどうぞよろしくお願いいたします。
ミュートしたユーザーの投稿です。
投稿を表示chatGPTに聞いてみたところ、
原因はほぼ確実に「レコード要素のキー名の誤り」です。
updateAllRecords に渡す配列要素は records ではなく record(単数) です。これが 400 Bad Request の典型パターンです。
とのことでした。私は全くコード分からないので、右から左へお伝えさせていただきます(笑)