ローコードアプリ開発プラットフォームRetool でMicrosoft Dataverse 連携アプリを作成
Retool はローコードでWebベースの業務アプリケーションを構築できるクラウドサービスです。この記事では、CData API Server を経由して Retool からMicrosoft Dataverse に連携するアプリを作成する方法を説明します。
CData API Server は、Microsoft Dataverse のデータのクラウド to クラウドの仮想OData インターフェースを提供し、Retool からリアルタイムにMicrosoft Dataverse のデータへ連携することができます。
Microsoft Dataverse データ連携について
CData は、Microsoft Dataverse(旧 Common Data Service)のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:
- Dataverse エンティティと Dataverse システムテーブルの両方にアクセスし、必要なデータを正確に扱うことができます。
- Azure Active Directory、Azure マネージド サービス ID 認証情報、クライアントシークレットまたは証明書を使用した Azure サービスプリンシパルなど、さまざまな方法で Microsoft Dataverse に安全に認証できます。
- SQL ストアドプロシージャを使用して、Microsoft Dataverse エンティティを管理できます。エンティティ間の関連付けの一覧表示、作成、削除などが可能です。
CData のお客様は、データをデータウェアハウスにレプリケートしたい場合(他のデータソースと併せて)や、Microsoft エコシステム内のお気に入りのデータツール(Power BI、Excel など)または外部ツール(Tableau、Looker など)からライブ Dataverse データを分析したい場合など、さまざまな理由で当社の Dataverse 接続ソリューションを使用しています。
はじめに
API Server の設定
以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなMicrosoft Dataverse OData サービスを作成していきましょう。
Microsoft Dataverse への接続
Retool からMicrosoft Dataverse のデータを操作するには、まずMicrosoft Dataverse への接続を作成・設定します。
- API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。
- 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「Microsoft Dataverse」を選択します。
- 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
CData コネクタの追加方法はこちら >> - それでは、Microsoft Dataverse への接続設定を行っていきましょう!
-
ユーザー資格情報の接続プロパティを設定せずに接続できます。接続に最小限必要な接続プロパティは、以下のとおりです。
- InitiateOAuth: GETANDREFRESH に設定します。
- OrganizationUrl: 接続先の組織のURL、例えばhttps://organization.crm.dynamics.com などに設定。
- Tenant (optional): デフォルトと異なるテナントに認証したい場合は、これを設定します。これは、デフォルトのテナントに所属していない組織と連携するために必要です。
接続すると、CData 製品はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、CData 製品にアクセス許可を与えます。CData 製品がOAuth プロセスを完了します。
- 接続情報の入力が完了したら、「保存およびテスト」をクリックします。
ユーザー資格情報の接続プロパティを設定せずに接続できます。接続に最小限必要な接続プロパティは、以下のとおりです。
- InitiateOAuth: GETANDREFRESH に設定します。
- OrganizationUrl: 接続先の組織のURL、例えばhttps://organization.crm.dynamics.com などに設定。
- Tenant (optional): デフォルトと異なるテナントに認証したい場合は、これを設定します。これは、デフォルトのテナントに所属していない組織と連携するために必要です。
接続すると、CData 製品はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、CData 製品にアクセス許可を与えます。CData 製品がOAuth プロセスを完了します。
API Server のユーザー設定
次に、API Server 経由でMicrosoft Dataverse にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。
- 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
-
次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
-
その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。
Microsoft Dataverse 用のAPI エンドポイントの作成
ユーザーを作成したら、Microsoft Dataverse のデータ用のAPI エンドポイントを作成していきます。
-
まず、「API」ページに移動し、
「 テーブルを追加」をクリックします。
-
アクセスしたい接続を選択し、次へをクリックします。
-
接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。
OData のエンドポイントを取得
以上でMicrosoft Dataverse への接続を設定してユーザーを作成し、API Server でMicrosoft Dataverse データのAPI を追加しました。これで、OData 形式のMicrosoft Dataverse データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。
リソースの登録
続いてRetool 側の手順を進めていきます。Retool ではまず、構成したAPI にアクセスするためのリソース情報を登録します。
- Retool にログインし、「Resouces」から「Create new」をクリックします。
- 接続できるサービスの一覧が表示されるので「REST API」を選択します。
- REST APIの設定画面では以下の通り必要な情報を入力します。Base URLには事前に作成したAPI のリソースエンドポイントを指定します。Headers には生成したユーザーの認証トークンを「x-cdata-authtoken」ヘッダーとして指定します。
- リソースを作成後、アプリの作成確認ダイアログが出てくるので、今回はこれで作成してしまいます。(もちろんテンプレートなどを使っても構いません。)
- 任意の名称を指定してください。
一覧画面の作成
リソースの登録が完了したら一覧画面を作成しましょう。
- まず、先程登録したAPIのコネクションを使って、データを取得するための「Query」を定義します。すでに登録されているQueryの名前を変更し内部のAPIを定義を調整します。
- デフォルトで Action Type、つまりAPIリクエストのメソッドが「GET」なので、このままでもデータは取得できます。ただ、初期状態ではすべての項目を取得してしまうので、API Serverがサポートするクエリパラメータを使って、取得項目やフィルター条件等を指定します。
- URL parmeters を記述したら、設定を保存して実行してみましょう。以下のようにデータが取得できればOKです。
- あとはこのデータを画面に表示するための「Table」UIコンポーネントを画面に配置します。
- デフォルトえはJSON形式のサンプルデータが表示されているので、これを変更します。
- 先程のクエリ名と対象のオブジェクト名を「{{QueryName.data.value}}」といった形で指定するだけでOKです。これだけで簡単に一覧画面が構成できました。
- 作成した画面はプレビューモードで動作確認できます。
このように、CData API Serverを経由することで、API 側の複雑な仕様を意識せずにAPI 連携をしたアプリをRetool で開発できます。他にも多くのデータソースに対応するCData API Server の詳細をこちらからご覧ください。