不動産情報APIではちょっとまったこと?など
2024年より国土交通省より公開された不動産情報API をさわりはじめたときに ちょっとだけはまったポイントです。
1. APIキーはHTTPのリクエストヘッダに
PHP で curl する場合は以下のようなイメージです。
取得したAPIキーは GETパラメータではなく HTTPのリクエストヘッダにします。
PHPでのイメージ
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// APIキーを設定
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Ocp-Apim-Subscription-Key: ' . REINFO_APIKEY ));
$ret = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
2. 返却値のJSONはgzip圧縮されているっぽい
XIT002?area=14 を投げた例
$ret = curl_exec($ch);
print $ret ;
文字化けされた羅列が出力されて、SJISか? などおもいましたが、直観で
$ret = curl_exec($ch);
$ret2 = gzdecode($ret) ;
print($ret2) ;
と gzdecode($ret) をすれば 親の顔よりみた JSON で出力されます。
3. gzip されない場合もある
以下のように response_format を用いるリクエストの場合
- XKT002?response_format=geojson ...
- XKT002?response_format=pbf ...
返却データは gzip されまてませんので gzdecode($ret) は必要ありません
$ret = curl_exec($ch);
$ret2 = gzdecode($ret) ;
print($ret2) ;
このAPIは全国の用途地域、学区なども取得できそうな有能APIっぽいので、もんでいきます!