【Garoon JavaScript API】ワークフロー承認時にkintoneにレコード登録する
こちらを参考にワークフロー承認時のデータをkintoneに登録しようとしております。
フィールドコード"文字列__1行_"のような、文字列フォームのみにPOSTする場合であれば通常通りレコードが登録されるのですが、
チェックボックス・複数選択・ユーザー選択フォーム のような値に配列を要求するものでは BadRequest が返ります。
リクエストボディはレコードの登録(POST)からほぼコピペしておりますので、間違いはないと思っておりますが、
どなたか解決策をご教示頂ければ幸いです。
※以下ソースコードです。ワークフローの「JavaScript / CSSによるカスタマイズ」に設定しております。
(function() {
“use strict”;
function addKintoneTask(token, request) {
var body = {
“app”:100,
“record”:{
“文字列__1行_”:{
“value”: request[“items”][“Test”][“value”]
},
“チェックボックス”: {
“value”: [
“sample1”,
“sample2”
]
}
}
};
var url = “https://弊社ドメイン.cybozu.com/k/v1/record.json”;
var xhr = new XMLHttpRequest();
xhr.open(“POST”, “/k/v1/record.json?__REQUEST_TOKEN__=” + token);
xhr.setRequestHeader(“X-Requested-With”, “XMLHttpRequest”);
xhr.setRequestHeader(“Content-Type”, “application/json”);
xhr.send(JSON.stringify(body));
xhr.onload = function() {
if (xhr.status === 200) {
// success
alert(JSON.parse(xhr.responseText));
} else {
// error
alert(JSON.parse(xhr.responseText));
}
};
};
garoon.events.on(“workflow.request.approve.submit.success”, function(event) {
var request = event.request;
return garoon.connect.kintone.getRequestToken().then(function(token) {
try {
addKintoneTask(token, request);
} catch (e) {
alert(e);
}
});
});
})();