お世話になっております。
タイトルの通りなのですが、REST APIを用いてステータスの更新(1行ずつ)を行うと、「不正なリクエスト」となり、エラーになってしまいます。
まったく同じ組織・作業者に対しておよそ150件ほどのレコードでを更新すると1、2件(その時によって違う)だけが
「不正なリクエスト」となり、レコードの更新が行えません。
また、30件のレコードで更新しても同様に2件(最初の2件が更新失敗)
3件で更新した場合には(最初の1件が更新失敗) となります。
それ以外は全て正常にステータスが更新されています。
ご教授頂ければ幸いです。
<code>
kintone.events.on(“app.record.index.show”, function(e) {
$(“#process_confirm_btn”).on(“click”, confirmProcess);
});
function confirmProcess(e) {
swal({
title: “確認依頼を行いますか?”,
text: “ステータスの更新処理には時間が掛かる場合があります”,
type: “warning”,
showCancelButton: true,
confirmButtonColor: “#DD6B55”, // ボタンカラー
confirmButtonText: “更新する”,
cancelButtonText: “中止する”,
closeOnConfirm: true
}).then(function() {
showSpinner();
createConfirmProcess().then(function() {
if (details.length > 0) {
swal({
title: “更新しました”,
text: “OKボタンを押してください。”,
type: “success”,
showCancelButton: false,
closeOnConfirm: true
}).then(function () {
hideSpinner();
window.location.reload();
});
} else {
swal(“更新件数がありませんでした。”, “確認中のステータスのレコードは存在しませんでした。”, “warning”);
hideSpinner();
}
});
}, function (dismiss) {
if (dismiss === “cancel”) {
swal(“中止しました”, “OKボタンを押してください”, “success”);
} else {
swal(“中止しました”, “ボタン押下以外で中止されました。”, “error”);
}
});
}
function createConfirmProcess() {
return 全件取得メソッド().then(function(allRecords) {
details = allRecords;
var params = null;
return kintone.Promise.all($.map(details, function(item, index) {
var supplier_code = item[“SUPPLIER_CODE”].value;
params = {
code : supplier_code
};
return kintone.api(kintone.api.url(‘/v1/organization/users’, true), ‘GET’, params).then(function(org_resp) {
if (org_resp.userTitles.length === 0) {
console.log(“紐付く組織が存在しません。”);
} else {
var update_id = item[“$id”].value;
var revision_id = item[“$revision”].value;
console.log(user_code1 + " " + user_code2);
return makerConfirmStatusUpdateParam(update_id, revision_id);
}
});
}));
});
}
var makerConfirmStatusUpdateParam = function(update_id, revision_id) {
var saveParams = {
“app” : kintone.app.getId(),
“id” : update_id,
“action” : STATUS_ACTION_NAME.STATUS_CONFIRM,
“revision” : revision_id
};
return kintone.api(“/k/v1/record/status”, “PUT”, saveParams).then(function(status_resp) {
console.log(status_resp);
console.log(“更新完了”);
}).catch(function (error) {
console.log(error);
});
}
</code>
以上、
宜しくお願い致します。