Javascriptを使ったルックアップ項目の更新(PUT)でエラーになります

いつもお世話になっております。

Javascriptでルックアップ項目を更新しなければならないのですが、
下記のような処理を行ったところ、更新できたものと出来なかったものがありました。

for (var i = 0, l = rds.length; i < l; i++) {
var rd = rds[i];
var putRecords = {
id: rd['$id'].value,
record: {
lookup: {
value: "lookupA"
}
}
};

kintone.api(
kintone.api.url('/k/v1/record', true),
'PUT', {
app: appId,
records: putRecords
},
function(resp) {
alert('ルックアップの更新が完了しました!');
}
);
}

更新できなかったものは、
PUT https://********.cybozu.com/k/v1/record.json 400 (Bad Request)
と表示されました。

更新できたデータと出来なかったデータの違いが分からないのですが、
念のため、更新できなかったデータの編集画面に行き、ルックアップ項目をなにも変更せずに「取得」をクリックして保存し、
再度上記の処理を試したところ、このデータだけはPUTが成功しました。

 

このような現象が起こるのはなぜでしょうか。
また、解決方法(ルックアップ項目を一括更新したい)がありましたら、
教えていただけましたら大変有難く存じます。

よろしくお願いいたします。

TAKAさん

 

for文で1個ずつレコードをPUTしているが、リクエスト自体は複数レコード更新の内容となっています。

修正方法としては、for文でリクエストBodyを作成し終わってからRestAPIでPUTするといいと思います。

あと、ライブラリを使うと100個以上のレコードでも扱いやすくなるので試してみてください。

http://qiita.com/kiku38/items/f903fcdf0c4e3d6ac1ab#putAllRecords

 

お返事が遅くなりすみませんでした。

おかげさまで、アドバイスいただいたとおり一括処理になるよう修正し、
スムーズに更新を行うことができました。

また、更新できたものとできなかったものの違いは、
とある必須項目を追加する前からあったデータと、追加したあとに作ったデータの違いでした。

お騒がせいたしました。
今後はよくチェックしたうえで業務を行なってまいります。