お世話になります。
■ レコードの取得(GET)
https://cybozudev.zendesk.com/hc/ja/articles/202331474-%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E5%8F%96%E5%BE%97-GET-
■ kintone API Promise
https://cybozudev.zendesk.com/hc/ja/articles/204564604
上記を参考に、REST APIにて・・・レコードの保存ボタン押下時に、別アプリの特定レコード(1つ)の特定フィールド(1つ)の値を読み込んできて、あるフィールドの値へ代入し、保存する、という動作をプログラムしたいと思っています。
GET にて
★ app (アプリのID)
★ id (レコードのID)
を指定すると、別アプリから 「特定の1件のレコードのフィールド値」 を呼び出せるはずですが、問題にぶつかっています。
<通常の場合はしっかり1件が返ってくる>
kintone.api(‘/k/v1/record’, ‘GET’, {“app”: app_id, “id”: rec_id}, function(resp) {
var no = parseInt(resp[‘record’][‘最終採番No’][‘value’]) + 1;
…
}, function(resp) {
//エラー処理
});
<Promiseの場合は複数のレコード値がjsonで返ってくる>
return kintone.api(‘/k/v1/records’, ‘GET’, ‘app’: app_id,‘id’: rec_id).then(function(resp) {
console.log(resp);
no = parseInt(resp[‘record’][‘最終採番No’][‘value’]) + 1; //ここでエラー発生
…
return event;
}, function(resp) {
//エラー処理
return event;
});
Promiseの現状のコンソールを見ますと
リクエストヘッダーは正しく送信できているが
Request URL:
https://benreco.cybozu.com/k/v1/records.json?app=27&id=1
レスポンスデータは2つのレコード(存在するレコードすべて)が返ってきてしまう状態です。
-
Object {records: Array[2], totalCount: null}
-
records:Array[2]
1. 0:Object
2. 1:Object
records配列の2番目のデータの中に、参照したいフィールド値が含まれているのですが・・・
APIや他のサンプルコードの説明を見ても、解決できませんでした。
今後、レコード数がかなり増えたり、どれか1つでも参照先アプリのレコードを編集しているとエラーになると思われるため、特定のレコードのデータのみを取得できるよう組んでおきたいと思っています。
なにか良い解決策はあるでしょうか。
何卒、よろしくお願いいたします。