5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Power Automate Desktop でWeb APIの実行結果をExcelに保存する方法

Last updated at Posted at 2021-04-07

最近話題のPower Automate Desktop(以下PAD)を使ってみたいと思います。
良くあるシチュエーションだと思いますが、APIの実行結果をExcelに出力します。

Power Automate Desktop

マイクロソフトのRPAツールとなっております。こちらからダウンロードできます。

楽天API

Web APIだったら別に何でもよかったのですが、おなじみの楽天さんの楽天市場系APIを利用します。

楽天API情報を使用するには、Rakuten Developersより
「新規アプリ登録」を行いアプリケーションIDを取得する必要があります。
簡単な情報を入力してすぐに取得することができました(はてなブログで作ったものでも申請が通りました)。

利用するAPI

楽天市場商品検索APIを使いたいと思います。

下記のような感じで、GETでアクセスできます。

sample
https://app.rakuten.co.jp/services/api/IchibaItem/Search/20170706
?format=json
&keyword=楽天
&genreId=555086
&applicationId=[アプリID]

詳しい仕様はこちらでご確認いただければと思います。

楽天市場商品検索APIの出力形式ですが、以下のような形となります。

response
{
    "Items": [
        {
            "Item": {
                "itemName": "a",
                "itemPrice": 10,
                "shopName": "a-Shop"
            }
        },
        {
            "Item": {
                "itemName": "b",
                "itemPrice": 20,
                "shopName": "b-Shop"
            }
        }
    ]
}

Itemを配列で取得できるので、今回は例として配列分のショップ名(shopName)アイテム名(itemName)を取得して、Excelに出力したいと思います。

処理ロジック

ロジックとしましては以下のような感じで設定したいと思います。

  1. 楽天市場商品検索APIを「Webサービスを呼び出す」で実行
  2. 楽天市場商品検索APIの実行結果をPADの「変数」に変換
  3. Excelを新規ファイルで起動
  4. ヘッダーを書き込み(ショップ名、アイテム名)
  5. Excelの行用の変数「Row」を定義(2行目から書き込みたいので、初期値は2としました)
  6. レスポンスのItemsを「ForEach」で1件ずつ処理
  7. shopNameitemNameを書き込み
  8. 変数「Row」をプラス1
  9. 終わり

設定

全体の設定としては、こんな感じになりました。

キャプチャ.JPG

設定として分かりにくそうなところだけ個別にキャプチャをはります。

Webサービスの呼び出し

URLやメソッド、コンテンツタイプなどの設定ができます。
(楽天APIでは不要でしたが、ヘッダーに認証トークンを含めたい場合は、カスタムヘッダーに記述すれば大丈夫です)

キャプチャ.JPG

APIの実行結果のステータスについては%StatusCode%に入って、レスポンスデータは%WebServiseResponse%という変数に入っています。
前提として、PADでは%変数名%のように%で囲むと変数として扱われます。

Excelに書き込み

キャプチャ.JPG

%ExcelInstance%という変数にExcelインスタンスを起動している(サブフローの3)ので、それを指定しています。

%Items%の一要素が%CurrentItem%の変数に割り当てられています(サブフローの7)。
そして%Item%という変数名の中に%shopName%が入っているので、それを指定します(楽天市場商品検索APIの出力形式を参照してください)。

実行結果

キャプチャ.JPG

簡単ですね(個人的にはプログラムでやりたくなります)。

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?