aoyama
(aoyama)
1
kintoneUtilityを使ってPOSTしたいのですが、
レコードが作成されるだけで値が反映しません。
もともとPUTで利用していたものを置き換えて使おうとしたのですが
なにか足りないところはありますでしょうか?
ご教授のほどよろしくお願いいたします。
◇POST手前のcosole.log(params)
[
{
"id": "1758",
"record": {
"種類": {
"value": "振込"
}
}
}
]
◇POST直後ののcosole.log(resp)
{results: Array(1)}
results
:
Array(1)
0
:
ids
:
['129949']
revisions
:
['1']
[[Prototype]]
:
Object
length
:
1
[[Prototype]]
:
Array(0)
[[Prototype]]
:
Object
kintoneUtility.rest.getAllRecordsByQuery(param).then(function(resp) {
var params = {app: 442,records: [],isGuest: false};
//未収サービスが空白のもののみ更新
let updateRecords = resp.records.filter((record) => record['請求方法'].value);
//振込の場合
updateRecords.filter((record) => {
return record['請求方法'].value === '振込';
console.log(record)
}). forEach((transferRecord) => {
console.log(transferRecord)
params.records.push({
id: transferRecord['$id'].value,
record: {
'種類': {
value: transferRecord.請求方法.value
},
}
});
});
console.log(params);
return kintoneUtility.rest.postAllRecords(params).then(function(resp) {
mura
2
レコードは作成できているのであれば、エラーは出てなさそうですね。
ただしいオブジェクトが送れているか一度確認したほうがいいと思います。
console.logでもいいですが、貼ってもらった形だと詳細がわからないので、、、
一番はデバッグツールのネットワークタブの送信の中身をみてみてください!
正しいフィールドコードなのか、想定されるデータなのか等を確認するのがまず問題の切り分けとして最初にやったほうがいいと思います。
「いいね!」 1
aoyama
(aoyama)
3
muraさま
お世話になっております。
ご連絡ありがとうございます。
ご指摘のデバックの箇所ですが下記のとおりとなっております。
PUTで行っている処理も同じ箇所を見ますが同じ様なログとなっており
違いがわかりませんでした。
PUT、POSTの違いの他あるとすれば、PUT側はedit.submitイベントで自分のアプリから他のアプリに書き込みに行くのに対し、POST側はindexイベントで他アプリから取得した情報を自アプリにPOSTする流れとなっています。
mura
4
んーぱっと見正しい形で送れてるようにみえますね!
であれば、、そのアプリID: 442には本当に 種類
フィールドがあるか、確認してみたいのと、
そのAPIで作られる該当の詳細ページを開き、別で上書きされてないか履歴なども確認したほうがいいかもですね。
aoyama
(aoyama)
5
切り分けで新しくアプリを作りました。フィールドコードは「てすと」で作成し
postだけでやってみたんですがうまく行かないです・・・
レコードは追加されますが、テストフィールドは空白です。。。
(function() {
'use strict';
kintone.events.on(['app.record.index.show'], function(event) {
var param = {app: 599, records: [] };
param.records.push({ record: { 'てすと': { value: "てすと" }, }});
console.log(param);
kintoneUtility.rest.postAllRecords(param).then(function(resp) {
console.log(JSON.stringify(resp, null, ' '))
}, function(error) {
console.log(param);
console.log(error);
console.log(error.message);
});
return event
});
})();
mura
6
すいません、よくよくみるとパラメータの指定が間違ってますね。
このリファレンスを参考にしてみてください、
提示されてるコードの record: {
の階層は不要でした。
また、付け加えますと、、
もうメンテされませんのでkintoneUtilityを使うのは非推奨になっておりまして、
kintone rest api clientの利用をぜひ検討ください。同等以上のことができるかとおもいます
「いいね!」 1
aoyama
(aoyama)
7
muraさま
お世話になっております。
ご指摘の箇所修正で値をセットできました!
ありがとうございます。
kintoneUtilityや
kintone rest api clientの件は認識してるものの
自分のレベルが追いつかずで着手できていません・・・
時間を作って勉強したいと思います!
「いいね!」 1
system
(system)
クローズされました:
8
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。