カスタムWeb APIを利用したサンプル
実際に、カスタムWeb APIを利用して他のサービスと連携するサンプルを作成しました。連携サービス「IFTTT」と、体重計「Withings」使い、体重計で計測すると体重のデータがForguncyで作成したアプリケーションへ送信される仕組みを構築しました。コードを書いたのはカスタムWeb APIでの数行のみで、構築にはわずか数十分で済みました。ここでは、簡単に概要を説明します。
先述のように、HTTPリクエスト内容からテーブルデータを作成するカスタムWeb APIのクラスを作成します。
using GrapeCity.Forguncy.ServerApi; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; namespace ClassLibrary1 { public class WeightApi : ForguncyApi { //体重をリクエスト内容から作成します [Post] public void PostWeightRecord() { var reader = new StreamReader(Context.Request.Body); //リクエストをDictionaryに変換します var request = JsonConvert.DeserializeObject<Dictionary<string, object>>(reader.ReadToEnd()); //現在の日付をフィールドに追加します request.Add("Date", DateTime.UtcNow.AddHours(9)); this.DataAccess.AddTableData(tableName: "体重", newValues: request); } } }
Forguncy Builderに作成したカスタムWeb APIを登録します。続いて、体重一覧を表示するアプリケーションを作成し、Forguncy Serverに発行します。作成したアプリケーションは図27のように、一覧表とグラフのみを表示したものです。
次に、IFTTTサービスのダッシュボードにて、「Withingsで体重を計ったらWebRequestを送信する」というコマンドを作成します。WebRequestの内容は、図28のように、先ほど作成したカスタムWeb APIにアクセスするものです。
簡単な説明ですが、以上で体重計にのるとWebアプリケーションから体重を確認できるようになります。カスタムWeb API以外はノンプログラミングで短時間で構築できます。
まとめ
Forguncyは、「Excel方眼紙」というキーワードに注目されがちですが、筆者はForguncyによって、「通常は数百万円かかるようなシステムを、発注者自らが構築できる可能性」があると感じています。本稿ではそれを実現する3つのポイントを説明しました。Forguncyの良いところは、Excelの機能とWebアプリケーションの良いところをうまく組み合わせて、業務アプリケーションをノンプログラミングで作成できる点です。また、ノンプログラミングだけではなく高度な開発により他のサービスとの連携も可能です。普段Excelを使って業務を担当している方がプロジェクトをリードし、システム開発はそれをサポートする、という体制が可能になるツールです。
ご興味を持たれた方は、ぜひ評価版のForguncyをお試しください。出張申請など実用レベルな20以上のテンプレートが用意されています。また、イベントも随時開催されています。