各製品の資料を入手。
詳細はこちら →クラウドRPA Coopel でOkta のデータにアクセス
CData Connect Server を使ってOkta のデータのOData API エンドポイントを作成し、Coopel からOkta のデータにアクセスする方法。
最終更新日:2021-11-15
こんにちは!リードエンジニアの杉本です。
Coopel は DeNA社が提供するクラウドベースのRPAサービスです。WebブラウザやExcel、SaaSなどのクラウドサービスの操作の自動化が実現できます。この記事では、CData Connect Server を経由して Coopel からOkta のデータを取得し活用する方法を説明します。
CData Connect Server は、Okta のデータのクラウド to クラウドの仮想OData インターフェースを提供し、Coopel からリアルタイムにOkta のデータへ連携することができます。
Okta の仮想OData API エンドポイントを作成
まずCData Connect Server でデータソースへの接続およびOData API エンドポイント作成を行います。
- CData Connect Server にログインして、Databases をクリックします。
- 利用できるデータソースアイコンから"Okta" を選択します。
-
Okta に接続するために必要なプロパティを入力します。
Okta に接続するには、Domain 接続文字列プロパティをお使いのOkta ドメインに設定します。
Okta への認証にはOAuth を使用するため、カスタムOAuth アプリケーションを作成する必要があります。
カスタムOAuth アプリケーションの作成
Okta アカウントから:
- 管理者アカウントでOkta のデベロッパーエディションにサインインします。
- Admin Consoleで、Applications > Applications に移動します。
- Create App Integration をクリックします。
- Sign-in method は、OIDC - OpenID Connect を選択します。
- Application type は、Web Application を選択します。
- カスタムアプリケーションの名前を入力します。
- Grant TypeをAuthorization Code に設定します。トークンを自動的に更新したい場合は、Refresh Token もチェックしてください。
- コールバックURL を設定します。
- デスクトップアプリケーションやヘッドレスマシンでは、http://localhost:33333 または任意の別のポート番号を使用します。ここで設定したURI が、CallbackURL プロパティになります。
- Web アプリケーションの場合、コールバックURL を信頼できるリダイレクトURL に設定します。このURL は、アプリケーションへのアクセスが許可されたことを示すトークンを伴ってユーザーが戻ってくるWeb 上の場所です。
- Assignments セクションで、Limit access to selected groups を選択してグループを追加するか、グループの割り当ては一旦スキップします。
- OAuth アプリケーションを保存します。
- アプリケーションのGeneral タブに、アプリケーションのClient Id とClient Secret が表示されます。後で使用できるように、これらを記録してください。Client Id はOAuthClientId の設定に使用し、Client Secret はOAuthClientSecret の設定に使用します。
- Assignments タブを確認し、アプリケーションにアクセスする必要のあるすべてのユーザーがアプリケーションに割り当てられていることを確かめます。
- Okta API Scopes タブで、OAuth アプリケーションに付与するスコープを選択します。これらのスコープは、アプリが読み取り可能なデータを決定します。そのため、特定のビューに対するスコープを付与しないと、そのビューに対するクエリを実行する権限がドライバーに付与されません。各ビューに必要なスコープを確認するには、ヘルプドキュメントのデータモデル > ビュー のビュー固有のページを参照してください。
- Test Database をクリックします。
- Permission -> Add をクリックして、新しいユーザーを追加し、適切な権限を指定します。
- API タブをクリックして OData API エンドポイントが生成されていることを確認します。
Coopel でシナリオを作成する
CData Connect Server 側の準備が完了したら、早速Coopel側でシナリオの作成を開始します。
- まず、Coopelにログインし、必要に応じて新しいワークスペースを作成します。
- ワークスペースを作成後、CData Connect Server にアクセスするための認証情報をCoopel 上に保存しましょう。「シナリオアカウント設定」→「新規追加」→「その他のサービス」を選択します。
- ここで、CData Connect Server にアクセスするためのUserIDとPasswordを入力し、保存じます。Webサービス名には任意の名称を入力してください。
- 次にメインとなるシナリオを作成します。「シナリオ作成」をクリックし
- 任意の名称を入力します。





Okta のデータを取得する処理を作成
シナリオを作成したらOkta のデータを取得する処理の作成を進めましょう。
- CoopelからOkta のデータを取得するためには、CData Connect Server を経由します。Coopelでは、ブラウザアクセスと同じような方法でCData Connect Server にアクセスするので、「URLにアクセス」のアクションを使って、データ取得を行います。Coopelのアクション一覧から「URLにアクセス」を配置し、先程検証した以下の「URL」および、「Basic認証アカウント」に指定します。
- 続いて、表示されたデータをCoopel上で扱いやすい形にするためにテーブルデータとして取得を行います。Coopelアクションの一覧から「テーブルデータを取得」を配置し、先程作成した「URLにアクセス」をブラウザへ指定。テーブルの要素として「table」を指定します。
- これで、Coopel上でCData Connect Server 経由で取得したデータを操作する準備が整いました。あとはCoopelの様々なアクションを駆使して、フローを作成していきます。


ファイル出力処理を作成
データを取得する処理が作成できたら、そのデータをExcel ファイルに出力してみましょう。
- 最初に「ファイルの新規作成」アクションを使って、Excel ファイルを作成します。任意の名称でファイル名とシート名を指定してください。
- 次に「シートをシート名で指定」のアクションを配置して、先程作成したExcelファイルのシートを参照します。
- シートを開いたら、取得したデータを「セルにペースト」アクションで貼り付けます。事前に作成した「対象シート」と、CData Connect Server から取得した「テーブルデータ」を指定します。書き込み対象セルは一番左上のセルから入力するので「A1」を指定しました。
- 最後に作成したExcelファイルを「ファイルを保存する」アクションで保存します。以上ですべてのシナリオが完成しました。




実行
それでは完成したシナリオを実行してみましょう。
- Coopelでは画面右上の「実行」ボタンでシナリオを試すことができます。正常に実行されると、以下のように「ファイルを保存する」アクションのダイアログに生成されたExcelファイルが表示されます。
- これをダウンロードして、Excelで開いてみると、以下のようにCData Connect Server 経由で取得したデータが入力されていることが確認できます。


このように、CData Connect Server を経由することで、API 側の複雑な仕様を意識せずにOkta と連携をしたRPA シナリオをCoopel で作成できます。他にも多くのデータソースに対応するCData Connect Server の詳細をこちらからご覧ください。