REST API使用後、かえってきたrespから、POSTしたレコードURLを生成し、POST元アプリのレコードへ格納しようとしています。
アドバイスをお願いします。
背景・実現したいこと
①REST APIを用いて、AアプリからBアプリに新規レコードを追加する。
②上記①レスポンスのレコードIDの値から、追加したレコードのURLを生成する。
③生成したレコードのURLを、Aアプリの文字列フィールドに反映する。
エラー情報
①及び②までは実現済みです。
③ができていない状況です。
下記コードのreturn event直前で、Aアプリの文字列フィールドのに代入しても反映はされませんでした。
Uncaught ReferenceError: respUrl is not defined
(スコープの関係かなと思います。)
また、respUrl生成後直下でAアプリの文字列フィールドのに代入をすると、(app.record.detail.process.proceed)eventオブジェクト内では、しっかりと代入されています。
利用したソースコード
不要な部分は削除しています。
(function(){
'use strict';
kintone.events.on('app.record.detail.process.proceed', function(event){
let subDomain = "xxxxx";
let aAppId = kintone.app.getId(); // Aアプリのid
let bAppId = xxx; // Bアプリのid
let nextStatus = event.nextStatus.value;
let record = event.record;
let recordId = record.$id.value;
let nowUrl = `https://${subDomain}.cybozu.com/k/${aAppId}/show#record=${recordId}`; //現在のAアプリのレコードURL
// 次のステータスがxxxのときに、Bアプリでレコードを追加する
if (nextStatus === "xxx"){
var params = {
"app": bAppId,
"record": {
}
};
kintone.api(kintone.api.url('/k/v1/record', true), 'POST', params, function(resp) {
// success
let respRecordId = resp.id; // Bアプリで追加されたレコードのid
let respUrl = `https://${subDomain}.cybozu.com/k/${bAppId}/show#record=${respRecordId}`; // Bアプリで追加されたレコードのurlの生成
}, function(error) {
// error
});
}
return event;
});
})();