Power Automate | カスタムコネクタでAPI連携 |Open-Meteo連携

Power Automate | カスタムコネクタでAPI連携 |Open-Meteo連携

今回の技術検証は「PowerAutomate」で「カスタムコネクタ」の作成を行います。

今回はOpenAPIとして提供されている「Open-Meteo」を使おうと思います。

こちらのAPIはAPIキー発行やログインが不要です。

MS Documentはここら辺が参考になるかと。

カスタムコネクタの一般公開

カスタムコネクタは個人で利用する場合と、一般公開する場合の2通りに分かれます。

一般公開する場合は、作成後にMicrosoftへ申請し、MS側で検証された上で公開されます。

一方、個人的に利用する場合にはこの申請は不要です。

Open-Meteoからデータ取得

Open-Meteoは非常に多くのパラメータの中から、自分が取得したいデータを選択する事ができます。

なお以下のリンクから、APIのURLを生成することができます。

①場所を選択

今回は「Tokyo」を選択します。「Detect GPS Position」を選択すれば、自分の現在位置情報を元に設定がされるようですが、今回は利用していません。

②取得したいデータを選択する。

取得できるデータも様々あります。今回はデフォルトの「Temparature」を選択

③API URLを控える(画面の真ん中ら辺にスクロール)

APIのURLが生成されるので、こちらをメモ帳か何かに控えます。

以下のリンクをクリックしてみると、確かに東京の温度情報(json形式)が取得できます。

https://api.open-meteo.com/v1/forecast?latitude=35.6785&longitude=139.6823&hourly=temperature_2m

カスタムコネクタの挙動

今回作成するカスタムコネクタの挙動ですが以下の3ステップを想定しています。

STEP1:PowerAutoの手動トリガーを実行

STEP2:Open-MeteoからTokyoの温度情報を取得する

STEP3:取得したJsonデータをCSVファイルとして吐き出す

今回のブログではSTEP1を紹介します。

STEP2、3に関しては以下の記事をご覧ください。

カスタムコネクタの作成

では早速カスタムコネクタを作成します。

①PowerAutomate データ>カスタムコネクタ>1から作成

今回はイチからカスタムコネクタを作成します。

コネクタ名は「Get_temperature」としました。

②全般情報を入力

アイコン設定や、APIのホストを設定します。下図の赤色部分を設定していると思えばよいかと。

・スキーマ:https

・ホスト:api.open-meteo.com

・ベースURL:/v1/

③セキュリティ

認証を選択する事ができます。今回のAPIは「認証なし」です。

認証タイプは、①認証なし、②基本認証、③APIキー、④OAuth2.0 から選択できるようです。

④アクションを作成する

今回は「アクション:Open-Meteoからデータを取得する」ため、アクションを作成します。

1)アクション>新しいアクション

新しいアクションを作成します。

2)全般>概要、説明、操作ID

概要説明、操作IDをそれぞれ入力します。

・概要:Open-Meteoから温度データ取得

・説明:Open-Meteoから温度データを取得します

・操作ID:MyAct_00001

概要と説明は、以下の場所に反映されます。操作IDはカスタムコネクタ内の独自IDです。

2)全般>表示

ユーザにパラメータ設定欄を表示するか否かを設定します。

microsoft docsより参照

今回は「none」としました。うまく説明ができないので、要調査中です。

3)要求

Open-Meteoで生成されるサンプルAPI(上記でも記載したAPI URLです)をインポートすることで、自動生成してくれます。

サンプルからのインポートをクリックすると、画面右側に詳細画面が表示されます。

今回は「GET」でURLは以下のURLをそのままコピペします。

https://api.open-meteo.com/v1/forecast?latitude=35.6785&longitude=139.6823&hourly=temperature_2m

インポートをクリックすると、以下の様な画面が表示されます。

今回のAPIのパラメータは以下の3つで、デフォルトでTokyoの情報を設定します。

1:latitude(デフォルト:35.6785)

2:longitude(デフォルト:139.6823)

3:hourly(デフォルト:temperature_2m)

3)要求 パラメータのデフォルト設定

パラメータのデフォルト値は「編集」から設定可能です。

下図の「規定値」に値を入力します。

4)コード(プレビュー)

任意のため利用していません。

5)テスト

最後にテストを行います。画面右上の「コネクタの作成(もしくは コネクタの更新)」をクリックした後、「テスト操作」をクリックします。

以下の様な応答を取得する事ができ、jsonデータが取得できたことが確認できます。

試しに使ってみる

早速作成したカスタムコネクタを使ってみましょう。

フロー

今回は以下の様なフローを作成しました。body情報をそのままTeamsに投稿する感じです。

結果

結果は以下の様な感じです。body情報をそのまま送っているので、これが正常です。

まとめ

次回の記事では、「取得したjsonデータを加工する」フローを検証します。

ではまた!

エラー: データの取得に失敗しました。