背景・実現したいこと
画面に配置したボタンを押すと、別アプリに登録されたレコードを全て削除する機能を実装したいのですが、エラーで動かない状態になっています。レコード数は10~20件ほどです。
deleteのパラメータ(param2)を見てみると、0:{ids: “1”},1:{ids: “2”}…の形で渡されているようです。
この部分を修正できれば動きそうなのですが、どのようにしたら良いかご教授をお願い致します。
参考にしたページ
レコードIDの取得
https://developer.cybozu.io/hc/ja/articles/204537310
レコード削除(DELETE)
https://developer.cybozu.io/hc/ja/articles/201941794-%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E5%89%8A%E9%99%A4-DELETE-
エラー情報
ブラウザの開発者ツールのコンソールから下記エラーが出ています。
DELETE https://kintone.cybozu.com/k/v1/records.json 400 (Bad Request)
利用したソースコード
(function() {
"use strict";
var App_Id1 = 270;
kintone.events.on(['app.record.edit.show', 'app.record.index.edit.show'], function(event) {
var btn = document.createElement('button');
btn.id = 'my_space_field_button';
btn.innerHTML = 'Delete';
btn.onclick = function () {
function DeleteRecords(records) {
var deleteRecords = [];
for (var i = 0, l = records.length; i < l; i++) {
var record = records[i];
deleteRecords[i] = {
ids: record.$id.value
};
}
return deleteRecords;
}
var param1 = {
'app': App_Id1
};
return kintone.api(kintone.api.url('/k/v1/records', true), 'GET', param1).then(function(resp) {
var records = resp.records;
var param2 = {
'app': App_Id1,
'ids': DeleteRecords(records)
};
console.log(param2);
return kintone.api(kintone.api.url('/k/v1/records', true), 'DELETE', param2).then(function(resp2) {
// success
console.log(resp2);
}, function(error) {
// error
console.log(error);
});
});
}
kintone.app.record.getSpaceElement('my_space_field').appendChild(btn);
});
})();