Power Automate DesktopのAPI周りについて

はじめに

みなさんこんにちは。連日の酷暑でクーラーが手放せない日々が続いていますね。室内でも脱水症状になることがあるそうですので、水分補給はこまめに行いましょう。
本日はMicrosoftが提供しているPower Automate Desktop(以下、PAD)のAPI周りについてお話ししようと思います。
APIってなに??って方は以下の記事を一読いただけますと幸いです。

 

クラウドフローとデスクトップフローの違い

さて、まず前段として「フロー」と呼ばれる自動化の一連処理について整理します。

Microsoftは、自身のPCにインストールして使用するPADとは別に、ビジネスプラットフォームであるPower Platformの一構成としてPower Automate(以下、PA)を提供しています。
(PADについては、もともとはPAの一機能であったデスクトップ向けRPA機能を切り出して無償提供されたものになります。)

PAで作成されるクラウドフローと、PADで作成されるデスクトップフローの違いについて以下にまとめました。

デスクトップ向けのRPAであるPADでは、デスクトップ上の処理を自動化することに向いている、という点を押さえておいてください。

クラウドフローとデスクトップフローの連携

PAとPAD、つまり、クラウドフローとデスクトップフローをその用途に合わせて別々に使用する、というのも悪くはありません。しかし、時と場合によってはクラウドフローとデスクトップフローが連携できたらな~なんて思うことがあるかもしれません。

連携、できちゃいます。結構簡単に。
デスクトップの情報(PC情報)をPAに登録するだけです。
一度デスクトップを登録してしまえば、PAのほうで管理が可能です。グループ化もOK。
(少し前まではオンプレミスゲートウェイなるものを設定する必要がありちょっと面倒でした、、、)

ただし1点注意が必要です。
クラウドフローからデスクトップフローを呼び出すことができるのはPAの有償版のみになります。(アテンド型RPAのユーザ―ごとのプラン)

「がっつり連携しなくていいから、無償版の範囲でデスクトップフローからAPIを使えないのかなぁ」
実はデスクトップフローからWebAPIを操作することができます。
WebAPIを操作するデスクトップフローを作成してみましたのでご紹介しましょう。

田町駅周辺の飲食店をAPIで取得してみた

実際にPADでAPIを実行してみたいと思います。
ホットペッパーグルメAPIの店舗取得結果をExcelに出力してみます。

ホットペッパーWebサービス

事前準備で、APIキー発行登録をします。

ホットペッパー Webサービス

【画像提供:ホットペッパー グルメ】

利用するAPI

グルメサーチAPIを利用します。

リクエストURLのパラメータ設定と出力形式は以下になります。

「東京都 田町駅」でランチ営業をしているお店を10件、店名順にjson形式で取得し、
掲載店名と掲載店名かなをExcelに出力します。
 
設定項目の詳細はAPIリファレンスをご確認ください。
 

処理フロー

処理フローは次の通りです。
 
1 APIを「Webサービスを呼び出す」で実行
2 APIの実行結果をPADで扱うために「JSONをカスタムオブジェクトに変換」
3 新規ファイルでExcelを開き、ヘッダーを書き込み
4 Excel行用の変数「RowCount」を定義(書き込み開始行が2行目のため、初期値2)
5 For Eachでレスポンス結果を1件ずつ書き込みし、変数「RowCount」をプラス1
6 Excelを保存し、閉じる
 
全体のフロー図です。
 
 

Webサービスの呼び出し

全般で必須項目を設定します。
 
メソッドは「GET」を使用し、json形式で結果を取得します。
 
 
「応答を保存します」の項目で、「ディスクに保存します(ファイル用)」を選択することで、
取得結果をファイルに出力することも可能です。
 
 
詳細はデフォルトで設定されており、任意で変更可能です。
 
 
実行後、変数が3つ生成されます。
 
 

JSONをカスタムオブジェクトに変換

取得したjson形式のデータをフロー内で扱えるようにします。
 
変数を利用する場合は、前後を「%」で囲みます。
 
 
変数のデータ型については、公式ドキュメントに詳細が記載されていますので、
詳細はこちらを参照して下さい。
 

For eachで1行ずつ書き込み

「For Each」でカスタムオブジェクトから「results」フィールドの「shop」を取り出し、
変数「CurrentItem」に格納し、1行ずつ処理します。
 
 

Excel操作

「CurrentItem」から「name」と「name_kana」を取り出し、
「RowCount」の行に書き込みします。

 

全件処理完了後、ファイルを保存しExcelを閉じます。

 

実行結果

おわりに

「デスクトップ向けのRPAであるPADでは、デスクトップ上の処理を自動化することに向いている」と記載しましたが、デスクトップ上だけではなく、WebブラウザやWebAPIの操作も可能です。
ご自身が実現したいことを念頭に置いたとき、最終的には有償版を契約しPAとPADを連携させるという手もありかと思います。
ただ、工夫次第ではPADだけで完結できるかもしれない。どう工夫していこう。
その一助にこのコラムがなれば幸いです。
 
弊社ではRPAとWebAPIの連携についても多数の実績がございます。
課題やお悩みがあれば以下から気兼ねなくお問い合わせください。
 

関連記事

もっと知りたい方はこちら


ページトップ