前提・実現したいこと
OpenWeatherMapのAPIを使い天気を取得しようとしています。
具体的には、
・[郵便番号]フィールドに郵便番号(ハイフンあり)を記入
・「天気を取得する」というボタン(スペースに用意)をクリック
・[天気]フィールドに該当地点の現在の天気が表示される
発生している問題
天気情報の取得まではうまく行きます(コンソールで確認するとrecords.record.天気.valueには値が入っています)が、kintoneのフィールドに反映されません。
(function() {
"use strict";
kintone.events.on(['app.record.detail.show','app.record.create.show'], function(event) {
var getWeatherBtn = document.createElement('button');
getWeatherBtn.id = 'get_weather_btn';
getWeatherBtn.innerText = '天気を取得する';
getWeatherBtn.onclick = function () {
var records = kintone.app.record.get();
var zipCode = records.record.郵便番号.value;
var appId = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
var owmUrl = '[https://api.openweathermap.org/data/2.5/weather?q=](https://api.openweathermap.org/data/2.5/weather?q=)' + zipCode + '&APPID=' + appId ;
return new kintone.Promise(function(resolve, reject) {
kintone.proxy(owmUrl, 'GET', {}, {}, function(body, status, headers){
if (status >= 200 && status < 300) {
var json = body.replace(/^\s+|\s+$/g,'');
var result = JSON.parse(json);
var todayWeather = result.weather[0].main;
records.record.天気.value = todayWeather;
resolve(event);
}
},function(error) {
//error
console.log(error);
resolve(event);
});
});
};
kintone.app.record.getSpaceElement('get_weather_btn_field').appendChild(getWeatherBtn);
});
})();
どなたか解決策をご教示いただけますと幸いです。よろしくお願いいたします。