リアルタイムPingOne のデータをkrewData 経由でkintone にノーコードで同期

CData Connect Server を使用してPingOne のデータに接続し、リアルタイムでデータをkintone に連携します。

杉本和也
リードエンジニア

最終更新日:2022-10-17

こんにちは!リードエンジニアの杉本です。

この記事では、PingOne の[CData].[Administrators].Users データをkintone に同期する方法を紹介します。グレープシティ社のkrewData というkintone プラグインとCData Connect Server を使うと、PingOne をはじめとする100を超えるSaaS データをノーコードでkintone に取り込むことが可能です。

krewData とは?

krewData は、グレープシティ社が提供するkintone のプラグインで、kintone の複数のアプリ間やExcel・CSV ファイルとkintone のデータ統合をkintone 上で行うことができます。

https://krew.grapecity.com/products/krewdata.htm

ホスティングについて

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

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


PingOne のデータの仮想データベースを作成する

CData Connect Server は、シンプルなポイントアンドクリックインターフェースを使用してデータソースに接続し、データを取得します。まずは、右側のサイドバーのリンクからConnect Server をインストールしてください。

  1. Connect Server にログインし、「CONNECTIONS」をクリックします。 データベースを追加
  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 メソッドについては、ヘルプドキュメントを参照してください。

    コネクションを設定(Salesforce の場合)。
  4. Test Connection」をクリックします。
  5. 「Permission」->「 Add」とクリックし、適切な権限を持つ新しいユーザー(または既存のユーザー) を追加します。

仮想データベースが作成されたら、krewData を含むお好みのクライアントからPingOne に接続できるようになります。

コネクションが構成されたら、kintone 上のkrewData プラグインからPingOne に接続できるようになります。

krewData でPingOne のデータをkintone に同期する

ここからは、kintone のプラグインであるkrewData での設定になります。

krewData の設定

krewData のプラグインインストールとkintone での設定については、こちらのリンクを参照してください。

https://krew.grapecity.com/products/krewdata.htm

kintone にkrewData プラグインを入れ、必要な権限設定を行ってください。

krewData の入力としてPingOne を設定

ここからは、実際にPingOne をkintone にロードするフローを作成していきます。krewData 自体は、複数データソースの統合、データのフィルタリング、集計処理など多様な機能を有するETL ですが、今回はシンプルにPingOne の[CData].[Administrators].Users データをkintone のアプリに同期するフローを作成します。

  1. kintone 画面でアプリにkrewData が表示されているので、これをクリックします。
  2. krewData アプリ画面の右上の「⚙」をクリックし、「設定」を開きます。
  3. 「設定」タブからプラグインをクリックします。これでkrewData のプラグイン操作画面に来ました。
  4. 「+データ編集フローを作成」の文字をクリックしてフローを作成します。作成されたフローが表示されますので、「⚙」マークをクリックしてフローを編集します。
  5. フロー編集画面が開きます。通常のkrewData フローは「入力アプリ」ではじまり、間にいくつかの処理モジュールを入れた後に「出力アプリ」で閉じる形です。CData Connect Server を使う場合には、一番下の「外部連携」の「CData Connect Server入力」モジュールを使います。
    「CData Connect Server入力」を左ペインからドラッグして、フローキャンバスにドロップします。そこからコマンド設定を行っていきます。「アプリを選択」をクリックします。
  6. 「+新しい外部サービス情報アプリを作成する」をクリックして、アプリ名を入力してアプリを作成します。こちらはkrewData の連携で使われるアプリですので、通常のkintone アプリを設定することはできません。OK をクリックします。
  7. 同じ入力コマンドで「サインイン」をクリックして、CData Connect Server にkrewData からサインインします。アカウント選択画面がでるので、「別のアカウントを追加」ボタンをクリックします。CData Connect Server アカウント設定画面が表示されるので、Connect Server への接続を行います。
    CData Connect Server アカウント:Connect Server のユーザー名
    Personal Access Token:Connect Server ユーザーのパスワード
    OK を押してConnect Server に接続します。
  8. 次に「データソースを選択」ボタンをクリックします。まずどのConnection を使うかを選択するので、先ほど作成したPingOne のConnection をドロップダウンから選択します。
  9. PingOne のどのオブジェクト(テーブル)を使うかを選択します。CData Connect Server がPingOne のオブジェクト(含むカスタムオブジェクト)をフラットなテーブル構造にモデル化しています。今回は[CData].[Administrators].Users を選択します。OK を押してテーブル選択を保存します。
  10. ここでPingOne からkrewData に取得するデータの絞り込み条件をかけることができます。特にデータ量が多い場合には、パフォーマンスを上げるためにフィルタ条件をかけることをおすすめします。krewData のGUI でフィルタリング条件をかけるカラムを指定し、条件を設定することが可能です。
  11. 最後にkrewData で使用するフィールドを選択します。
  12. テーブル設定、フィルタリング設定、フィールド設定まで終わったら「プレビュー」タブをクリックして、実際に取得されるデータを見ることができます。

kintone へのアウトプットを設定

kintone への出力を行う設定を行います。

  1. 「出力アプリ」を左ペインからドラッグしてフローキャンバスにドロップします。先ほどのCData Connect Server入力アプリと出力アプリを線でつなぎます。
  2. 「アプリを選択」ボタンをクリックして、入力アプリと同様に新しいアプリを作成します。
  3. 出力アプリの設定として、2回目以降の同期の際のデータの更新の方法をしていします。今回はUPSERT 設定で更新または追加にチェックをいれています。
  4. 更新キーをしていできるので、ID カラムにチェックを入れて更新キーにします。
  5. これで出力アプリの設定が完了したので、左上の「アプリを更新」をクリックしてフローを保存します。

PingOne [CData].[Administrators].Users のkintone への同期フローを実行

では、実際にフローを実行していきます。

まずはユーザー情報を指定する必要があります。左上の「設定ファイル」タブをクリックします。kintone のログイン名とパスワードを入力します。セキュアアクセスを使っている場合にはセキュアアクセス設定が必要です。

右上の「▶実行」ボタンをクリックして、フローを実行しましょう!!!
「成功」の表示がでました。

実際にkintone 上で出力アプリとして設定したアプリを開いてみます。ちゃんとPingOne [CData].[Administrators].Users 情報がkintone アプリのレコードとして同期されていました。

まとめ

いかがでしたか?このようにCData Connect Server とkrewData を使って、簡単にPingOne の[CData].[Administrators].Users データをkintone にノーコードで同期することができました。

是非、CData Connect Server で他の100を超えるデータソースでもkintone への同期をお試しください。

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

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