僕はどちらかというとそれほど機能の多くないシンプルなウェブサイトを作ることが多いので、バックエンドを作る負担をなるべく減らしたいと思っています。
Firebaseとか良さそうなんですけど、それだとオーバースペックになりがちなのでもっと手軽な方法が無いか考えたところ、タイトルのような感じにたどり着いた次第。
構成
- Google Spreadsheet
- Microsoft Power Automate
上記のサービスを使って作ります。
Power Automate の完成イメージは下のとおり。

手順
では、Power Automate の作成を順を追って見ていきましょう。
HTTP リクエストを受け付ける
Power Automate で HTTP リクエストをトリガーにして処理を開始するためのステップです。
Flowを新規作成し、トリガーの選択で「HTTP 要求の受信時」を選択します。

特に設定をする必要は無いのですが、一応 method を GET にしておきます。
簡易的に済ませるのでスキーマの設定は省略。
データの取得
今回、なるべく簡単にデータを管理するということで Spreadsheet に情報を記載し、それを Power Automate で取得するという構成にしています。
Power Automate のアクション追加で、スプレッドシートの「複数行を取得」を選びます。
アクションを検索するとき英語ではなく日本語だったので最初見つからなくて焦りました。。。

アクションを追加したらスプレッドシートのファイルとシートを選択します。
使用するデータの選択
次に、使用するデータの選択を行います。
これをやらないと出力する JSON に不要な情報がいろいろとついてきてしまいます。
追加するアクションは「データ操作 - 選択」です。

「開始」の項目でスプレッドシートのデータを選び、マップでキーにデータを割り当てます。
HTTP レスポンスを作成する
最後のステップで HTTP リクエストに対するレスポンスを作成します。
このアクションの名前は「要求 - 応答」です。検索時に「response」「レスポンス」「HTTP」のどれにも引っかからないのでこの機能が無いのかと諦めそうになりました。
そのせいで他の方法を探してしまい、30分位無駄にしましたよ。。。

応答では本文のところに直前のステップの出力を入れておきます。
ここまでできたら「保存」をクリックします。
そうすると最初のステップ「HTTP 要求の受信時」で URL が生成されます。
ここに GET でアクセスすると Spreadsheet に記載した情報が JSON になって返ってきます。
いざ、HTTP リクエスト
では試しに、生成された URL に GET でリクエストを送ってみましょう。
スプレッドシートのデータはこんな感じ。

リクエストを送ります。
ちゃんと返ってきましたね。
スプレッドシートを更新すると、ちゃんとデータが反映されました。
感想
やり方を理解するまでは難儀しましたが、できてしまえば簡単なものです。
Power Automate の利点として、日本語に対応しているというのがありますが、今回はそれがネックになりました。
IT 用語まで日本語になってるとは思わんかったですよ。
これができると、ちょっとしたウェブでの表示などはこれで済ませてしまえますね。
Microsoft Power Automate はなかなか便利です。