ふらふらとネットサーフィンしてたらおもしろそうなWebAPIを見つけたので、カスタムコネクタを作って遊んでみた!
※今回作成するカスタムコネクタはフリーのWebAPIを使用しています。もしこのコネクタを作成/使用する場合は自己責任でお願いします。
今回使用するWebAPI
今回使用するWebAPIは
- ipify
- ipapi
の2つ。
ipify
自分のグローバルIPを返してくれるWebAPI。
ipapi
グローバルIPから位置情報を返してくれるWebAPI。
カスタムコネクタ作成
さっそくカスタムコネクタを作成。
ipifyカスタムコネクタ
[カスタムコネクタ新規作成]から、[一から作成]を選択。


適当に名前を付けて


ホストに「api.ipify.org」を入力。


セキュリティの設定は特になし。


[3.定義]に移って、全般を適当に設定し、


[要求]を[サンプルからインポート]を使用して、こんな感じで設定。


クエリの「format」を編集して、


「json」を自動で設定するようにする。


そしたら[既定の応答を追加する]から


本文に「{“ip”:”60.43.33.94″}」みたいに入力して、インポート。


そしたらコネクタを保存して新しい接続を作成、テスト操作を実行すると、


こんな感じでグローバルIPが取得できる!


ipapiカスタムコネクタ
続いてipapiカスタムコネクタの作成。先ほどと同様[一から作成]を選んで、適当に名前を付ける。


ホストは「ipapi.co」を入力し、


こちらもセキュリティは特に設定なし。


「3.定義」に移って、全般を適当に設定、


[要求]を[サンプルからのインポート]でこんな感じに設定。


[応答]を[既定の応答を追加する]から、[本文]をこんな感じで設定してインポート。
{ "ip": "60.43.33.94", "version": "IPv4", "city": "Setagaya-ku", "region": "Tokyo", "region_code": "13", "country": "JP", "country_name": "Japan", "country_code": "JP", "country_code_iso3": "JPN", "country_capital": "Tokyo", "country_tld": ".jp", "continent_code": "AS", "in_eu": false, "postal": "154-8503", "latitude": 35.6468, "longitude": 139.6546, "timezone": "Asia/Tokyo", "utc_offset": "+0900", "country_calling_code": "+81", "currency": "JPY", "currency_name": "Yen", "languages": "ja", "country_area": 377835.0, "country_population": 126529100, "asn": "AS4713", "org": "NTT Communications Corporation" }
そしたら[5.テスト]に移動して、


コネクタを保存して新しい接続を作成、ipに適当なグローバルIPを入力してテスト操作を実行すると、


こんな感じで位置情報が取れる! ※精度はかなり低いけどw


Power Appsに組み込んでみる
そしたら適当なPower Appsアプリを作成して、


さっき作ったカスタムコネクタを追加。


適当なところ(ScreenのOnVisibleとか)で、こんな感じでグローバルIPと位置情報を取得。


するとこんな感じで位置情報を使用することができる。


通貨情報とかも使用可能!


BingMapsとかを追加すると、


こんな感じで地図の表示も可能!
ただし精度はかなり低めで、なぜか現在地が池の中になっているw

ただし精度はかなり低めで、なぜか現在地が池の中になっているw

おまけ:Locationとの違い
緯度経度とかはPower Appsに標準で用意されている「Location」で取得することもできる。
このLocationを使うとこんな感じで現在地取得の許可が必要になることがあるけど、IPから取得する場合はこの許可は不要。


ただし精度は圧倒的にLocationの方が上っぽくて、こっちのピンの方が僕の家に近いw


コメント