参考ページ
郵便番号検索API
ライブラリーのインストール
composer require guzzlehttp/guzzle
composer require vlucas/phpdotenv
get_address.php
#! /usr/bin/php
<?php
// ------------------------------------------------------------------
require_once 'vendor/autoload.php';
fputs (STDERR,"*** 開始 ***\n");
$CODE_POSTAL = $argv[1];
echo $CODE_POSTAL . "\n";
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
$APPID = $_ENV['APPID'];
$client = new GuzzleHttp\Client();
$URL_BASE = 'https://map.yahooapis.jp/search/zip/V1/zipCodeSearch';
$URL = $URL_BASE . "?query=" . $CODE_POSTAL . "&appid=" . $APPID . "&output=json";
$res = $client->request('GET', $URL);
echo $res->getStatusCode() . PHP_EOL;
// echo $res->getBody() . PHP_EOL;
$contents = (string)$res->getBody();
$dict_aa = json_decode ($contents,true);
// print($contents);
// var_dump($dict_aa['Feature'][0]['Property']['Address']);
echo $dict_aa['Feature'][0]['Property']['Address'] . "\n";
fputs (STDERR,"*** 終了 ***\n");
// ------------------------------------------------------------------
?>
.env
APPID = 'dj0zaiZpPW9NN3F****'
実行例
$ ./get_address.php 131-8634
*** 開始 ***
131-8634
200
東京都墨田区押上1-1-2東京スカイツリーイーストタワー11F
*** 終了 ***
この結果は誤りの可能性があります。東武タワースカイツリー株式会社は、19F です。
東武タワースカイツリー株式会社 (スカイツリー)