kintoneにて、APIを用いてステータスを書き換えたいのですが、うまくいきません。
現在、スクショの通り、プロセス管理を設定しています。
ステータス「買い出し中」にアクション「調理」を実行すると、ステータス「調理中」に移り、ステータス「調理中」にアクション「食事」を実行すると、ステータスが「食事中」に移ります。
実現したいのは、ステータス「買い出し中」からステータス「調理中」を飛ばして、ステータス「食事中」に一気にすることです。こちらに→ステータスを書き換えるAPIがあるので、これを参考に実装しましたが、エラー出ております。
Javascript
1(function() { 2 "use strict"; 3 4 const APP_ID = "1"; 5 6 kintone.events.on('app.record.detail.show', function(event) { 7 8 if(event['record']['ステータス'].value != "買い出し中") { 9 return; 10 } 11 12 var recordId = event['record']['$id'].value; 13 14 var body = { 15 "app": APP_ID, 16 "id": recordId, 17 "action": "食事中", 18 // CSRF TOKEN: kintone上からAPI(POST, PUT, DELETE)を実行する場合に設定する必要あり 19 "__REQUEST_TOKEN__": kintone.getRequestToken() 20 }; 21 22 var url = 'https://サブドメイン.cybozu.com/k/v1/record/status.json'; 23 var xhr = new XMLHttpRequest(); 24 xhr.open('PUT', url); 25 xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); 26 xhr.setRequestHeader('Content-Type', 'application/json'); 27 xhr.onload = function() { 28 if (xhr.status === 200) { 29 // success 30 console.log(JSON.parse(xhr.responseText)); 31 } else { 32 // error 33 console.log(JSON.parse(xhr.responseText)); 34 } 35 }; 36 xhr.send(JSON.stringify(body)); 37 }); 38 39})(); 40
エラー内容:
画像のように、400エラーが発生し、「ステータスの変更に失敗しました。ほかのユーザーがステータス、またはステータスの設定を変更した可能性があります。」と出ています。原因などが分かれば、ご教授ください。よろしくお願いします。
あなたの回答
tips
プレビュー