↑を参考にkintone.proxyをPOSTで実装しました。
const header = {
'Authorization': 'Bearer ' + freeeAccessToken,
'Content-Type': 'multipart/form-data',
};
const body = {
'company_id': Number(freeeCompanyId),
'receipt': receiptBody.toString()
};
console.log(body);
// 証憑データ登録APIを呼び出す
await kintone.proxy(endPointUrl , 'POST', header, body).then(async function(response) {
if (!response) return;
console.log(response);
(以下略)
しかし、
'{"status_code":400,"errors":[{"type":"validation","messages":["company_id, receipt が指定されていません。"]}]}',
で返ってきてしまいます。
リクエストボディ
何も指定しない場合は {} を指定してください。
HTTP メソッドに POST や PUT を指定したときだけ送信されます。
HTTP メソッドが GET や DELETE のリクエストで、リクエストボディを指定したい場合には、url のクエリ文字列として指定してください。
とリファレンスにありますが、POSTでもurlのクエリ文字列で送信されてしまいます。
なぜこのような挙動をするのでしょうか?
何か考えられることがありましたらご教示いただけると幸いです。