LoginSignup
5
6

More than 3 years have passed since last update.

Microsoft Power Automate を使って Spreadsheet で管理しているデータを JSON にして提供する

Last updated at Posted at 2018-09-05

僕はどちらかというとそれほど機能の多くないシンプルなウェブサイトを作ることが多いので、バックエンドを作る負担をなるべく減らしたいと思っています。

Firebaseとか良さそうなんですけど、それだとオーバースペックになりがちなのでもっと手軽な方法が無いか考えたところ、タイトルのような感じにたどり着いた次第。

構成

  • Google Spreadsheet
  • Microsoft Power Automate

上記のサービスを使って作ります。

Power Automate の完成イメージは下のとおり。

スクリーンショット 2018-09-06 08.00.55.png

手順

では、Power Automate の作成を順を追って見ていきましょう。

HTTP リクエストを受け付ける

Power Automate で HTTP リクエストをトリガーにして処理を開始するためのステップです。

Flowを新規作成し、トリガーの選択で「HTTP 要求の受信時」を選択します。

スクリーンショット 2018-09-06 08.04.42.png

特に設定をする必要は無いのですが、一応 method を GET にしておきます。

簡易的に済ませるのでスキーマの設定は省略。

データの取得

今回、なるべく簡単にデータを管理するということで Spreadsheet に情報を記載し、それを Power Automate で取得するという構成にしています。

Power Automate のアクション追加で、スプレッドシートの「複数行を取得」を選びます。

アクションを検索するとき英語ではなく日本語だったので最初見つからなくて焦りました。。。

スクリーンショット 2018-09-06 08.11.53.png

アクションを追加したらスプレッドシートのファイルとシートを選択します。

使用するデータの選択

次に、使用するデータの選択を行います。

これをやらないと出力する JSON に不要な情報がいろいろとついてきてしまいます。

追加するアクションは「データ操作 - 選択」です。

スクリーンショット 2018-09-06 08.16.20.png

「開始」の項目でスプレッドシートのデータを選び、マップでキーにデータを割り当てます。

HTTP レスポンスを作成する

最後のステップで HTTP リクエストに対するレスポンスを作成します。

このアクションの名前は「要求 - 応答」です。検索時に「response」「レスポンス」「HTTP」のどれにも引っかからないのでこの機能が無いのかと諦めそうになりました。

そのせいで他の方法を探してしまい、30分位無駄にしましたよ。。。

スクリーンショット 2018-09-06 08.23.47.png

応答では本文のところに直前のステップの出力を入れておきます。

ここまでできたら「保存」をクリックします。

そうすると最初のステップ「HTTP 要求の受信時」で URL が生成されます。

ここに GET でアクセスすると Spreadsheet に記載した情報が JSON になって返ってきます。

いざ、HTTP リクエスト

では試しに、生成された URL に GET でリクエストを送ってみましょう。

スプレッドシートのデータはこんな感じ。

スクリーンショット 2018-09-06 08.29.07.png

リクエストを送ります。

screencast 2018-09-06 08-31-46.gif

ちゃんと返ってきましたね。

スプレッドシートを更新すると、ちゃんとデータが反映されました。

感想

やり方を理解するまでは難儀しましたが、できてしまえば簡単なものです。

Power Automate の利点として、日本語に対応しているというのがありますが、今回はそれがネックになりました。

IT 用語まで日本語になってるとは思わんかったですよ。

これができると、ちょっとしたウェブでの表示などはこれで済ませてしまえますね。

Microsoft Power Automate はなかなか便利です。

5
6
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
6