$p.apiDelete
概要¶
AjaxのPOSTリクエストにより、レコードおよびWikiを削除します。
構文¶
JavaScript¶
パラメータ¶
| パラメータ名 | 型 | 必須 | 概要 |
|---|---|---|---|
| id | long | ○ | 削除対象のレコードID |
| done | function | ○ | API通信成功時の処理 |
| fail | function | API通信失敗時の処理 | |
| always | function | API通信完了時の処理 |
使用例¶
JavaScript¶
$p.apiDelete({
id: 123,
done: function (data) {
console.log(data);
},
fail: function (data) {
console.log(data);
},
always: function (data) {
console.log(data);
}
});
サンプルコード¶
FAQ:サンプルコード:ステータスが完了になったら別レコードを削除させたい
Note
コード内の【 ... 】は適宜修正してください。
1. ステータスが「保留中」かつ申請予定日が「30日以上」経過しているレコードを削除する
ステータスが保留中(910)かつ申請予定日が30日以上前のレコードを取得し、削除する。
// 対象サイトID
const TARGET_SITE_ID = 【対象サイトのID】;
// 削除対象ステータス(保留)
const TARGET_STATUS = '["910"]';
// 経過日数の閾値
const LIMIT_DAYS = 30;
// 対象サイトのデータを取得
$p.apiGet({
id: TARGET_SITE_ID,
data: {
View: {
ColumnFilterHash: { Status: TARGET_STATUS },
},
},
done: function (data) {
const rows = data.Response.Data;
// 申請予定日(DateA)が30日以上前のものだけに絞り込み
const limitDate = new Date();
limitDate.setDate(limitDate.getDate() - LIMIT_DAYS);
const targets = rows.filter(row => new Date(row.DateHash.DateA) < limitDate);
if (targets.length === 0) return;
// 対象のレコード削除
targets.forEach(row => {
$p.apiDelete({
id: row.ResultId,
done: function () {
console.log(`(Info):削除成功:Id=${row.ResultId}`);
},
fail: function (err) {
console.log(`(Info):削除失敗:Id=${row.ResultId}`, err);
},
});
});
},
fail: function (err) {
console.log('レコード取得に失敗しました。', err);
},
});
