概要
セルに郵便番号を入力することで、住所を表示してくれる関数があったらなぁと思って書いたプログラムが動かなくなっていたので、zipcloudさんのAPIを使って書き直してみたプログラムの出来がイマイチだった。
というわけで、zipcloudさんのAPIを使わずに自前でAPIを作成して書き直してみたもののプログラムの実行速度がアレだった。
もうこうなったらサーバごと全部自前でやっちまえ!
ってな具合にAPIサーバ建てました。
ご興味がある方はどうぞ。
使い方は前回のものとほぼ同じです。
使い方
下記をスクリプトエディタにコピペすれば関数を利用できるようになります。
=ZIP_ADDRESS("154-0004","address1")
みたいな感じ。
利用できるデータの種類は次の通りです。
zipcode 郵便番号
prefcode 都道府県コード
address1 都道府県名
address2 市区町村名
address3 町域名
function ZIP_ADDRESS(zip,part)
{
zip = zip.replace(/\-/g, '');
var response = UrlFetchApp.fetch('https://zipaddress.suisuinet.com/search.php?v=' + zip);
var res = JSON.parse(response.getContentText());
if (res.status == 400) {
return res.message;
}
if (res.results) {
var address = res.results[0];
return (address[part]) ? address[part] : "";
} else {
return "該当するデータがありません";
}
}
外部システムのデータを読み込むときに承認が必要と言われると思います。
そんなときはこちらの記事を参考に承認すれば大丈夫!
https://qiita.com/h-sto/items/fdde0905d0a4070d18fc