ノーコードツールAdalo でREST 連携アプリを作成
CData Connect Server を使ってREST のデータの仮想OData API エンドポイントを作成して、Adalo からREST のデータを使ったアプリを作成する方法。
杉本和也
リードエンジニア
最終更新日:2021-11-15
こんにちは!リードエンジニアの杉本です。
Adalo は ノーコードでスマホやWebベースのアプリを構築できるクラウドサービスです。この記事では、CData Connect Server を経由して Adalo からREST に連携するアプリを作成する方法を説明します。
CData Connect Server は、REST のデータのクラウド to クラウドの仮想OData インターフェースを提供し、Adalo からリアルタイムにREST のデータへ連携することができます。
REST の仮想OData API エンドポイントを作成
まずCData Connect Server でデータソースへの接続およびOData API エンドポイント作成を行います。
- CData Connect Server にログインして、Databases をクリックします。
- 利用できるデータソースアイコンから"REST" を選択します。
-
REST に接続するために必要なプロパティを入力します。
データソースへの認証については、データプロバイダーのヘルプドキュメントの「はじめに」を参照してください: データプロバイダーはREST API を双方向データベーステーブルとして、XML/JSON
ファイル(ローカルファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)を読み取り専用のビューとしてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP
などの主要な認証スキームがサポートされています。認証についての詳細は、ヘルプドキュメントの「はじめに」を参照してください。
URI を設定し、認証値を指定したら、Format を"XML" または"JSON" に設定して、データ表現をデータ構造により厳密に一致させるようにDataModel を設定します。
DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、以下の基本的な設定を切り替えます。
- Document (デフォルト):REST データのトップレベルのドキュメントビューをモデル化します。データプロバイダーはネストされたエレメントをデータの集計として返します。
- FlattenedDocuments:ネストされたドキュメントとその親を単一テーブルとして暗黙的に結合します。
- Relational:階層データから個々の関連テーブルを返します。テーブルには、親ドキュメントにリンクする主キーと外部キーが含まれます。
リレーショナル表現の構成について詳しくは、「REST
データのモデル化」を参照してください。次の例で使用されているサンプルデータもあります。データには、人、所有している車、およびそれらの車で行われたさまざまなメンテナンスサービスのエントリが含まれています。The
data includes entries for people, the cars they own, and various maintenance services performed on those
cars.
-
Test Database をクリックします。
-
Permission -> Add をクリックして、新しいユーザーを追加し、適切な権限を指定します。
-
API タブをクリックして OData API エンドポイントが生成されていることを確認します。
Adalo でアプリを作成する
CData Connect Server 側の準備が完了したら、早速Adalo側でアプリ開発を開始します。
- 「CREATE NEW APP」をクリックし
- 今回は「Desktop Web App」を作成します。
- templateを最初に選ぶことができますが、今回は検証用なので何も無い「Blank」で作成しました。
- 最後にアプリ名とカラーリング設定を選んで、アプリの準備は完了です。
External Collections の登録
続いてCData Connect Server への接続をAdalo に追加します。Adalo では「Collection」という形でデータ構造を持ち、アプリのデータを管理することができるのですが、この「Collection」を外部のAPIとシームレスに連携した形で利用することができる「External Collections with APIs」という機能があります。この機能を用いてCData Connect Server に接続します。
- アプリを作成したら、まず Adalo アプリ内でデータを扱うための定義である「Collection」を登録します。Collection は Adalo 内部の独自DBのような「Database Collections」と、外部のAPIに対してシームレスにアクセスすることが可能な「External Collections」があります。今回は外部のAPIに対してアクセスを行うので「External Collections」で登録します。
- External Collections の登録画面では最初にコレクション名とAPI のベースとなるURLエンドポイントを指定します。任意のCollection 名とAPI Base URLに先程CData Connect Server で登録したREST の対象リソースに接続できるODataのエンドポイントを指定します。併せて認証情報として Header に「x-cdata-authtoken」の名前でCData Connect Server ユーザー登録時に生成されているTokenを指定します。
- 続いてAdaloから実行されるそれぞれのリクエストの関連付けを行います。通常のAPIであれば様々なチューニングが必要となる箇所ですが、REST ではほぼデフォルトの設定のままで進められます。一点だけ設定が必要な箇所として、REST からのレスポンスをレコード単位で識別するために「Get All」の設定にある「Results Key」に「value」を登録しておくことが挙げられます。これを設定したら「Next」をクリックしましょう。
- 最後にAPIの「RUN TEST」を行います。
- 「RUN TEST」をクリック後、最終的に以下のようにメッセージとレスポンスが表示されれば、External Collectionsの作成は完了です。
一覧画面の作成
それでは作成した External Collections を使ってアプリを作っていきましょう。
- まず一覧画面を表示するためにAdalo の画面右上の「+」ボタンをクリックして、「Simple List」をドラッグアンドドロップで画面に配置します。
- 以下のように配置できたら「What is this a list of?」で先程作成したExternal Collectionsの定義を紐付けます。
- 併せて「Title」と「Subtile」を取得するデータ項目に紐付けましょう。
- プレビューを実行し一覧画面に移動してみると、以下のようにREST のデータを取得できていました。
このように、CData Connect Serverを経由することで、API 側の複雑な仕様を意識せずにAPI 連携をしたアプリをAdalo で開発できます。他にも多くのデータソースに対応するCData Connect Server の詳細をこちらからご覧ください。