PUTする際のJSONの形

下記内容で、ルックアップ元のフィールドを自動更新しようと思っています。

太字の部分でエラーが発生し、動きません。おそらくJSONの形が違う事によるものなのですが、教えて頂けないでしょうか?

初歩的な質問、申し訳ございません。

 

 

(function () {
“use strict”;

// 「従業員マスタ」アプリでのレコード編集画面保存時、レコード一覧編集画面保存時イベント
kintone.events.on([‘app.record.edit.submit’, ‘app.record.index.edit.submit’], function (event) {
var afterRecord = event.record;
var appId = kintone.app.getId();
var recId = event.recordId;

// まず、変更前のルックアップデータを取得する
kintone.api(‘/k/v1/record’, ‘GET’, {app: appId, id: recId}, function (resp) {
var beforeRecord = resp.record;

// 次に、ルックアップ参照元(コピー先)の更新対象レコードを取得する
fetchRecords(“3”, ‘name = "’ + beforeRecord.name.value + ‘"’).then(function (records) {
var recCount = records.length;
var putCountb = Math.ceil(recCount / 100);
var putCount = parseInt((recCount / 100) + 1);
for (var i = 0; i < putCount; i++) {
var offset = i * 100;
var limit = 100;
if (offset + limit > recCount) {
limit = recCount - offset;
}
var putLimit = limit + offset;

 

var editRecords = [];
//for (var i = 0 ; i < records.length ; i++) {

//var record = records[i];

 

for (offset; offset < putLimit; offset++) {
var record = records[offset];
console.log(record[“$id”].value)
editRecords.push({
“id”: record[‘$id’].value,
“record”: {
“name”: {
“value”: afterRecord.name.value
}
“memo”: {
“value”: afterRecord.memo.value
}
}
});
}

 

 

//}

 

// 最後に更新処理
//kintone.api(‘/k/v1/records’, ‘PUT’, {app: 4, ‘records’: editRecords}, function(resp){
kintone.api(‘/k/v1/records’, ‘PUT’, {app: 3, ‘records’: editRecords}, function(resp) {
}, function(error) {
// error
console.log(error);
});
}
});
});

return event;
});

 

 

// 全件取得関数
function fetchRecords(appId, query, opt_offset, opt_limit, opt_records) {
var offset = opt_offset || 0;
var limit = opt_limit || 100;
var allRecords = opt_records || [];
var params = {app: appId, query: query + ’ limit ’ + limit + ’ offset ’ + offset};
return kintone.api(‘/k/v1/records’, ‘GET’, params).then(function (resp) {
allRecords = allRecords.concat(resp.records);
if (resp.records.length === limit) {
return fetchRecords(appId, query, offset + limit, limit, allRecords);
}
return allRecords;
});
}

})();

Ryo Saidoaさん

 

こんにちは。

どのようなエラーが表示されていますか?

ちなみに太字の中で気になったのは以下の部分です。

“name”: {
“value”: afterRecord.name.value
} ←ここにカンマがない
“memo”: {
“value”: afterRecord.memo.value
}

 

あと、JSの構文チェックツールもあるのでよければお使いください

http://blog.cybozu.io/entry/8733

Ryo Saidoさん、       
      
>下記内容で、ルックアップ元のフィールドを自動更新しようと思っています。      
>太字の部分でエラーが発生し、動きません。おそらくJSONの形が違う事によるものなのですが、教えて頂けないでしょうか?      
      
遅いコメントで申し訳ありません。      
      
このお尋ねの内容が、いまいち、よく分からなったのですが、      
      
「ルックアップ元のフィールド」を、自アプリの「name」フィールドの値で、自動更新する、ということですか?      
・「ルックアップ元のフィールド」は、「name」フィールドですよね。      
      
考えていらっしゃる動作の中で、      
→自アプリの「name」フィールドの値は、どの段階で変更されていますか?      
      
・自アプリの「name」フィールドの値を変更して、「保存」ボタンを押す操作手順、ということでよろしいですか?      
      
      
以上、既に、この件終わられているかもしれませんが、その場合、この投稿はお読み捨てください。      
      
ありがとうございます。      
よろしくお願い致します。      
      
※追伸:また、カキ氷 さんのご指摘は重要なポイントだったと思います。