Yuzuru Abeさん
keyフィールドの一致をqueryで渡したGETで得られたレスポンスの配列のレコード番号を見て、更新したいフィールドとともにPUTする動作になりますので、こんな感じだと思います。各所変数は読み替えてください。
var app_id = app_id;
var query = 'key_field="' + key_value + '"';
kintone.api(kintone.api.url('/k/v1/records', true), 'GET', {
app: app_id,
query: query
}, function(resp) {
if (resp.records.length == 0) {
return;
}
var target = {
'app': app_id,
'records': []
};
var obj = { 'value': 'value' }; // 更新フィールドの作成
for (var i = 0; i < resp.records.length; i++) {
target.records[i] = {
'id': '',
'record': {}
};
target.records[i]['id'] = resp.records[i]['$id']['value']; // 更新対象のレコードID
target.records[i]['record']['other_field'] = obj;
}
kintone.api(kintone.api.url('/k/v1/records', true), 'PUT', target, function(resp) {
alert('レコードを更新しました。');
}, function(resp) {
// エラーの場合はメッセージを表示する
var errmsg = 'レコード更新時にエラーが発生しました。';
// レスポンスにエラーメッセージが含まれる場合はメッセージを表示する
if (resp.message !== undefined) {
errmsg += resp.message;
}
alert(errmsg);
});
}, function(resp) {
// エラーの場合はメッセージを表示する
var errmsg = 'レコード取得時にエラーが発生しました。';
// レスポンスにエラーメッセージが含まれる場合はメッセージを表示する
if (resp.message !== undefined) {
errmsg += resp.message;
}
alert(errmsg);
});
また、100件以上の対応が必要であればこちら、更にkeyフィールドを元にしたレコード更新は関連トピックとしてこちらがそれぞれ参考になると思います。
Ryu Yamashita様
ご教示ありがとうございます。
目的の動作ができました!
コメントまで付けて頂き、大変勉強になりました。
重ねて御礼申し上げます。