Windows 10でGoogle Maps Geolocation APIを使ってみる。
Windows 10のcurlを使った。
だいぶ以前にもGoogle Geolocation APIを試したことがあるのだが、APIが変わってしまった。
API Keyが必須になってしまっているので、取得しないといけない。
Google MapsのAPI v1の時代にAPI Keyを取得してあったのだが、古いAPI Keyは新しいAPIでは使うことができない。(できなかった)
まず準備として、API Keyを取得する。
→ Get API Key | Maps JavaScript API | Google Developers
英語だが特に難しいことは無かった。上記のGoogleのページのGET STARTEDというところから始めて、Google Cloud Platform Consoleというサイトでフォームに情報を埋めていけばAPI Keyを取得できる。
Google Cloud Platformは、Googleのクラウドサービスのことで、クラウドの計算資源とか各種アプリを利用することができるサービスだ。
Google Mapsの利用はクラウドサービスとはちょっと違うのだが、ユーザー管理とか課金のサイトを別々に作るのが面倒なのか、統合されているみたいだ。
クレジットカード情報も登録するので、ちょっと緊張するのだが、こちらが有料サービスに切り替えないかぎり課金は発生せず、無料分のサービスのみということなので、登録した。
次に、Google Cloud Platforn Consoleという設定などを管理するページで、API Keyを有効にするGoogle Mapsのサービスを設定する。
自分はGeolocation APIと、Static Maps APIを使うつもりなので、この2つのみでAPI Keyが使える設定にした。
API Keyは各ユーザー個人の固有のものなので、他に漏らさないように管理する。
—
API Keyを実際に使ってGeolocation APIを使ってみる。
次のページのsample Requestというのを試してみた。
→ Developer Guide | Geolocation API | Google Developers
まず、JSON形式でWiFiアクセスポイントを記述したファイルを用意する。
内容は以下のようにして、「your_filename.json」という名前で保存する。
{ "considerIp": "false", "wifiAccessPoints": [ { "macAddress": "00:25:9c:cf:1c:ac", "signalStrength": -43, "signalToNoiseRatio": 0 }, { "macAddress": "00:25:9c:cf:1c:ad", "signalStrength": -55, "signalToNoiseRatio": 0 } ] }
そして、次のようなbatファイルを作って実行した。ただし、”ここに自分のAPIキーを書く”という部分は各自のAPI Keyに書き換えること。
curl -d @your_filename.json -H "Content-Type: application/json" -i "https://www.googleapis.com/geolocation/v1/geolocate?key=ここに自分のAPIキーを書く" pause
結果、緯度経度の情報がJSON形式で表示されるはずだ。
ウイルス対策ソフトがブロックしてたりすると、アクセスできないのでエラーになったりする。(自分もそれに引っかかって原因が分からずちょっと悩んだ)
—
あとは、自分が作るプログラムからこれを呼び出すようにする。
curlコマンドを外部プロセスを起動する形で呼び出すのでもよいのだが、curlの機能を使うためのlibcurlというライブラリがあるので、それを使うという方法もある。
自分の場合はlibcurlを使うのが好きなので、以前にも使っていたし、今回もlibcurlを使ってみる。
つづく。