PingOne のデータに連携するAppSheet アプリを作成

CData Connect Server を使って、ノーコードでPingOne に連携する業務アプリケーションをAppSheet で作成。

宮本航太
プロダクトスペシャリスト

最終更新日:2022-04-17

こんにちは!プロダクトスペシャリストの宮本です。

AppSheet は、業務アプリケーションをノーコードで開発できるGoogle 提供のサービスです。モバイル、タブレット、ウェブアプリケーションをノーコードで作成できます。AppSheet とCData Connect Server を一緒に使うことで、簡単にPingOne のデータに連携する業務アプリを開発できます。この記事では、AppSheet とConnect Server を使ってPingOne に連携するシンプルなアプリケーションを作成する方法を紹介します。

CData Connect Server は、PingOne のデータのインターフェースを仮想SQL Server として提供し、AppSheet でネイティブにサポートされたデータと同じように連携するアプリケーションが作成できます。AppSheet でデータにアクセスするアプリでは、内部でSQL クエリを発行しています。CData Connect Server がAppSheet が発行するSQL クエリ(フィルタリングやJOIN も可能)をパースしてPingOne に送り、AppSheet にPingOne からのデータを返します。インテリジェントなサーバーサイドプロセスで、多様なクエリをパフォーマンス良く利用できます。

ホスティングについて

AppSheet からCData Connect Server に接続するには、利用するConnect Server インスタンスをネットワーク経由での接続が可能なサーバーにホスティングして、URL での接続を設定する必要があります。CData Connect がローカルでホスティングされており、localhost アドレス(localhost:8080 など)またはローカルネットワークのIP アドレス(192.168.1.x など)からしか接続できない場合、AppSheet はCData Connect Server に接続することができません。

クラウドホスティングでの利用をご希望の方は、AWS MarketplaceGCP Marketplace で設定済みのインスタンスを提供しています。


PingOne の仮想SQL Server データベースを作成

まずは、右側のサイドバーからCData Connect Server の無償トライアルをダウンロード・インストールしてください。CData Connect Server では、直感的なインターフェースでデータソースへの接続およびAPI エンドポイント作成を行えます。

  1. Connect Server にログインして、「CONNECTORS」をクリックします。 データベースを追加
  2. 利用できるデータソースアイコンから"PingOne" を選択します。
  3. PingOne に接続するために必要なプロパティを入力します。

    PingOne に接続するには以下のプロパティを設定します。

    • Region:自身のPingOne 組織のデータがホスティングされている地域。
    • AuthScheme:PingOne に接続する際に使用する認証の種類。
    • WorkerAppEnvironmentId (デフォルトのPingOne ドメインを使用する場合に必要)、またはAuthorizationServerURL のいずれかで、下で説明するように設定します。

    WorkerAppEnvironmentId の設定

    WorkerAppEnvironmentId は、Worker アプリケーションが存在するPingOne 環境のID です。 このパラメータは、環境がデフォルトのPingOne ドメイン(auth.pingone)を利用している場合のみ使用されます。 これは、ヘルプドキュメントカスタムOAuth アプリケーションの作成で説明するように、PingOne への認証に使用するカスタムOAuth アプリケーションを作成した後に設定します。

    はじめに、このプロパティの値を見つけます。

    1. 自身のPingOne 組織のホームページからナビゲーションサイドバーに移動し、Environments をクリックします。
    2. OAuth / Worker のカスタムアプリケーションを作成した環境(通常はAdministrators)を見つけ、Manage Environment をクリックします。 環境のホームページが表示されます。
    3. 環境のホームページのナビゲーションサイドバーで、Applications をクリックします。
    4. リストから、OAuth またはWorker アプリケーションの詳細を見つけます。
    5. Environment ID フィールドの値をコピーします。 以下の例に似たものになるはずです:
      WorkerAppEnvironmentId='11e96fc7-aa4d-4a60-8196-9acf91424eca'

    次に、WorkerAppEnvironmentIdEnvironment ID フィールドの値に設定します。

    AuthorizationServerURL の設定

    AuthorizationServerURL は、お使いのアプリケーションが配置されている環境のPingOne 認可サーバーのベースURL です。 このプロパティは、PingOne プラットフォームAPI ドキュメントで説明されているように、環境にカスタムドメインを設定した場合にのみ使用されます。 Custom Domains を参照してください。

    OAuth でのPingOne への認証

    PingOne はOAuth とOAuthClient 認証の両方をサポートしています。 上述の設定手順に加え、OAuth またはOAuthCliet 認証をサポートするために、さらに2つの手順を完了する必要があります。

    • ヘルプドキュメントカスタムOAuth アプリケーションの作成で説明するように、カスタムOAuth アプリケーションを作成して設定します。
    • ドライバーがデータモデル内のエンティティにアクセスできるようにするには、ヘルプドキュメントのAdministrator Roles での説明のとおり、使用するアドミンユーザー / ワーカーアプリケーションに対して正しいロールを設定していることを確認してください。
    • 以下のサブセクションで説明されているように、選択した認証スキームと認証フローに適切なプロパティを設定します。

    OAuth(認可コードグラント)

    AuthSchemeOAuth に設定します。

    デスクトップアプリケーション

    OAuth アクセストークンの取得およびリフレッシュ

    以下を設定して、接続してください。

    • InitiateOAuthGETANDREFRESH。繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要をなくすには、InitiateOAuth を使用します。
    • OAuthClientId:カスタムOAuth アプリケーションを作成した際に取得したClient ID。
    • OAuthClientSecret:カスタムOAuth アプリケーションを作成した際に取得したClient Secret。
    • CallbackURL:カスタムOAuth アプリケーションの登録時に定義したリダイレクトURI。例:https://localhost:3333

    接続すると、本製品 はデフォルトブラウザでPingOne のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。 ドライバーはこれでOAuth プロセスを完了します。

    1. ドライバーはPingOne からアクセストークンを取得し、それを使ってデータをリクエストします。
    2. OAuth 値はOAuthSettingsLocation で指定された場所に保存され、接続間で永続化されるようにします。

    ドライバーはアクセストークンの期限が切れると自動的にリフレッシュします。

    Web アプリケーションやヘッドレスマシン、クライアントクレデンシャルグラントを含むその他のOAuth メソッドについては、ヘルプドキュメントを参照してください。

    Configuring a connection (Salesforce is shown).
  4. 「Test Connection」をクリックします。
  5. 「Permission」をクリックして、接続で使用したいユーザーに適切な権限を指定します。

これで、PingOne の仮想データベースが作成でき、AppSheet からの連携が可能になりました。

AppSheet でPingOne のデータを連携利用

以下の手順を実行することで、CData Connect Server を使ってAppSheet からPingOne のデータソースにアクセスできます。

  1. まずはAppSheet にログイン。
  2. メニューの「Account settings」をクリックします。
  3. 「Sources」タブをクリックして、「+New Data Source」ボタンから新しいデータソースを追加します。 AppSheet で新規データソースを作成
  4. 「Cloud Database」を選択して、接続情報を設定します。
    • Type:SQL Server
    • Server: 接続するCData Connect Serverインスタンス、例:CONNECT_SERVER_URL:1433
    • Database:仮想データベース名、例: PingOne1
    • Username:Connect Server で接続許可を与えたユーザー名
    • Password:Connect Server ユーザーのパスワード
    • SSL:Don't Require SSL
    Connect Server への接続情報を指定
  5. 「Test」をクリックします。
  6. 「Authorize Access」をクリックします。

アプリを作成

これで、PingOne のデータソースが作成されました。いよいよPingOne に連携するアプリを開発します。メニューから「My apps」をクリックします。

  1. 「Create」->「App」->「Start with existing data」の順にクリックして、新しいアプリの作成を始めます。 新しいアプリの作成
  2. アプリの名前と適切なカテゴリーを設定します。
  3. 新しく作成したデータソース (例:database-1) を選択します。
  4. 次の画面で、データソースのテーブルとビューの一覧を確認できます。アプリ作成で使用したいデータを選択してください。 テーブルの選択

これで、選択したテーブルからカラムを選んで、アプリをデザインできます。Preview パネルでデザインしたアプリを確認して、パブリッシュしましょう。

Connect Server でデータ連携したアプリをデザイン。

アプリケーションから250以上のSaaS、ビッグデータ、NoSQL、会計、CRM、MA などのツールにSQL でデータ連携するには、CData Connect Server をぜひお試しください。

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。