郵便番号から住所を取得するプログラムについて

皆様

 

こんにちは。大西と申します。

表題の件でご助力頂きたく投稿しました。

 

業務用に、郵便番号を入力すると住所を自動入力するプログラムを、

https://cybozudev.zendesk.com/hc/ja/articles/203853280-%E9%83%B5%E4%BE%BF%E7%95%AA%E5%8F%B7-%E4%BD%8F%E6%89%80%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

こちらを参考に作成しました。

郵便番号は文字列1行でフィールドコードを「郵便番号」、

住所も文字列1行でフィールドコードを「住所」としています。

 

(function() {
“use strict”;

kintone.events.on([‘app.record.create.change.郵便番号’, ‘app.record.edit.change.郵便番号’], function(event) {
var zipcode = event.record.郵便番号.value;

kintone.proxy(
https://api.zipaddress.net/?zipcode=’ + zipcode,
‘GET’,
{},
{},
function(body) {
var response = JSON.parse(body);
var record = kintone.app.record.get();
if (response.code == 200) {
record.record.住所.value = response.data.fullAddress;
kintone.app.record.set(record);
} else if (response.message) {
alert(response.message);
} else {
alert(‘郵便番号から住所の検索に失敗しました’);
}
},
function(body) {
alert(‘郵便番号から住所の検索に失敗しました’);
}
);

return event;
});
})();

 

実装して実行すると、通信エラー(520)となり、処理されません。

httpsをhttpに直すとうまく動くのですが、ブラウザから直接URLにアクセスするとどちらも同じレスポンスが返ってくるので、なぜエラーが発生するのかわからず・・・。

 

できればhttpsで通信したいのですが、こちら解決策はありますでしょうか。

 

以上、よろしくお願いいたします。

大西さん

エラー内容をみてみると、下記のとおりです。

{code: “GAIA_PR01”, messageType: “text”, success: false, id: “1505999166-416994565”,…}
code:“GAIA_PR01”
id:“1505999166-416994565”
message:“kintoneとプロキシーAPIとの通信でエラーが発生しました。”
messageType:“text”
success:false

これは、無効なurl を指定した場合に発生するエラーと同じです。

なんらかの問題で、kintone proxy サーバーから、指定の url の名前解決(IPアドレスへの変換)が出来ないようです。
http の場合は、問題なく、https の場合だけエラーとなります。。

試しに他の azure API などへ kintone.proxy 経由でアクセスしても問題ありません。

「proxy サーバー」と「郵便番号-住所検索API」間の問題と思われますので、kintoneのサポートに問合せてはいかがでしょうか?

暫定対策としては、ajax が使えると思います。
proxy サーバーを経由しないので、https で取得できると思います。

rex0220さん

ご回答ありがとうございます。

かなり限定的な内部の問題なのですね・・・。

一度サポートチームに問い合わせてみます。

大西様

同じ症状で3日悩んでいます。
もし良ければ、解決方法が分かった時にお教え願えないでしょうか。

諸岡様

 

便利なプログラムなので、活用したいですよね。

ただいまサポートチームに確認しておりますので、進捗あればこちらに共有いたします。