# 郵便番号から住所文字列を得る(2018年11月)

**URL:** https://community.cybozu.dev/t/topic/3538
**Category:** kintone 開発相談
**Created:** [2018 年 11 月 15 日午前 11:55 UTC](https://community.cybozu.dev/t/topic/3538 "2018-11-15T11:55:09Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Legacy\_Account483](https://avatars.discourse-cdn.com/v4/letter/l/e79b87/32.png) [@Legacy\_Account483](https://community.cybozu.dev/u/Legacy_Account483)
#### Post date: [2018 年 11 月 15 日午前 11:55 UTC](https://community.cybozu.dev/t/topic/3538/1 "2018-11-15T11:55:09Z")

</div>

郵便番号から住所文字列を得る方法について、このフォーラムで紹介されている通り（確か去年まで）は、

```
'[http://api.zipaddress.net/?zipcode=](http://api.zipaddress.net/?zipcode=)'+'郵便番号 7 桁’

```

で取得できていましたが、ついに、利用しているAPI側でhttp でのアクセスもできなくなったようで、現在は https ・http共に失敗します。

（参考）[郵便番号から住所を取得するプログラムについて](https://community.cybozu.dev/hc/ja/community/posts/115009379686-%E9%83%B5%E4%BE%BF%E7%95%AA%E5%8F%B7%E3%81%8B%E3%82%89%E4%BD%8F%E6%89%80%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)&nbsp;

.

そこで、本日(2018年11月)現在で動くものを、と、ヨチヨチデバッグしながら作ってみました。結果、全体的にイマイチな感じですが、一応動きます。

.

（利用サービス） [郵便番号データ配信サービス zipcloud](http://zipcloud.ibsnet.co.jp/doc/api)&nbsp;&nbsp;&nbsp;利用規約&nbsp;&nbsp;[http://zipcloud.ibsnet.co.jp/rule/api](http://zipcloud.ibsnet.co.jp/rule/api)

（前提条件）

- jquery.min.js
- フォームに、郵便番号入力用フィールド 「zipcode」(文字列)
- フォームに、住所文字列出力用フィールド 「adress」(文字列)

&nbsp;

熟練の方々、是非突っ込み、リファクタリングお願いします。&nbsp;

javascript

```
(function() {
  "use strict";
  kintone.events.on(['app.record.create.change.zipcode', 'app.record.edit.change.zipcode'], function(event) {
    var zipcode = event.record.zipcode.value;
    kintone.proxy(
      'http://zipcloud.ibsnet.co.jp/api/search?zipcode=' + zipcode,
      'GET',
      {},
      {},
      function(body) {
        var response = JSON.parse(body);
        var record = kintone.app.record.get();
        if (response.status == 200) {
          if(response.results != null){
            if(response.results.length > 0){
              var tmp = '';
              tmp = tmp + (response.results[0].address1 != null ? response.results[0].address1 : '');
              tmp = tmp + (response.results[0].address2 != null ? response.results[0].address2 : '');
              tmp = tmp + (response.results[0].address3 != null ? response.results[0].address3 : '');
              record.record.address.value = tmp;
              kintone.app.record.set(record);
            } else {
              record.record.address.value = '← 郵便番号を修正してください。_01(' + response.message + ')';
              kintone.app.record.set(record);
            }
          }else{
            record.record.address.value = '← 郵便番号を修正してください。_02(' + response.message + ')';
            kintone.app.record.set(record);
          }
        } else if (response.message) {
          record.record.address.value = '← 郵便番号を修正してください。_03(' + response.message + ')';
          kintone.app.record.set(record);
        } else {
          alert('郵便番号から住所を検索しましたが、失敗しました_04');
        }
      },
      function(body) {
        alert('郵便番号から住所の検索に失敗しました_05');
      }
    );
    return event;
  });
})();

```

&nbsp;

&nbsp;

---

<div class="post-metadata">

### Author: ![Legacy\_Account830](https://avatars.discourse-cdn.com/v4/letter/l/2acd7d/32.png) [@Legacy\_Account830](https://community.cybozu.dev/u/Legacy_Account830)
#### Post date: [2018 年 12 月 18 日午後 2:17 UTC](https://community.cybozu.dev/t/topic/3538/2 "2018-12-18T14:17:44Z")

</div>

私も以前の投稿を参考に試してうまくいかずに諦めてましたが、こちらの方法でちゃんと出来ました。

都道府県は分けた形で使わせてもらってます。

ありがとうございます！！

---

<div class="post-metadata">

### Author: ![Legacy\_Account1417](https://avatars.discourse-cdn.com/v4/letter/l/d6d6ee/32.png) [@Legacy\_Account1417](https://community.cybozu.dev/u/Legacy_Account1417)
#### Post date: [2020 年 2 月 21 日午前 5:26 UTC](https://community.cybozu.dev/t/topic/3538/3 "2020-02-21T05:26:36Z")

</div>

**無料の郵便番号検索を探していて、このぺーじを見つけました。ちゃんと動きました。ありがとうございます。**
