クラウドRPA BizteX Connect で使えるOutlook のデータ連携用のバックエンドAPI をノーコードで開発

杉本和也
杉本和也
リードエンジニア
クラウドRPA BizteX Connect から Outlook のデータに接続するためのバックエンドAPI Server をCData API Server で構築



CData API Server を使って、BizteX Connect から Outlook に接続してデータを取得する方法を説明します。

API Server の設定

以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなOutlook OData サービスを作成していきましょう。

Outlook への接続

BizteX Connect からOutlook のデータを操作するには、まずOutlook への接続を作成・設定します。

  1. API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。 接続を追加
  2. 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「Outlook」を選択します。
  3. 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
    CData コネクタの追加方法はこちら >>
  4. それでは、Outlook への接続設定を行っていきましょう! 接続設定
  5. OAuth 認証の設定

    Microsoft Graph API は認証に OAuth 2.0 を使用します。OAuth 認証情報(Client ID と Client Secret)を取得するには、Microsoft Azure Portal でアプリケーションを登録する必要があります。

    OAuth 認証情報の取得

    1. Azure Portal にログインします。
    2. Azure Active Directory > App registrations に移動します。
    3. New registration をクリックして新しいアプリケーションを作成します。
    4. アプリケーション名を入力し、適切なアカウントの種類を選択します。
    5. Redirect URI をアプリケーションのコールバック URL に設定します(デスクトップアプリの場合は http://localhost:33333 など)。
    6. Register をクリックしてアプリケーションを作成します。
    7. アプリケーションの概要ページで Application (client) ID をコピーします。これが OAuthClientId になります。
    8. Certificates & secrets に移動して、新しいクライアントシークレットを作成します。
    9. クライアントシークレットの値をコピーします。これが OAuthClientSecret になります。
    10. API permissions に移動して、必要な Microsoft Graph API の権限を追加します:
      • Mail.Read - メールメッセージへのアクセス用
      • Contacts.Read - 連絡先へのアクセス用
      • Calendars.Read - カレンダーイベントへのアクセス用
      • Tasks.Read - To Do タスクへのアクセス用
      • offline_access - リフレッシュトークンの取得用
    11. Grant admin consent をクリックして、これらの権限を付与します。

    OAuth での接続

    以下の接続プロパティを設定して接続を確立してください:

    • AuthScheme:OAuth に設定します。
    • InitiateOAuthGETANDREFRESH に設定します。CData API Profile for Outlook が OAuth プロセスを自動的に進め、アクセストークンを取得します。
    • OAuthClientId:Azure Portal の Application (client) ID に設定します。
    • OAuthClientSecret:Azure Portal のクライアントシークレットの値に設定します。
    • TenantId:Azure AD のテナント識別子(GUID または 'contoso.onmicrosoft.com' のようなドメイン名)に設定します。
    • CallbackURL:アプリ登録で指定したリダイレクト URI に設定します(デスクトップアプリの場合は http://localhost:33333 など)。

    接続文字列の例

    Profile=C:\profiles\Outlook.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;TenantId=your_tenant_id;CallbackUrl=http://localhost:33333;
    

  6. 接続情報の入力が完了したら、「保存およびテスト」をクリックします。

OAuth 認証の設定

Microsoft Graph API は認証に OAuth 2.0 を使用します。OAuth 認証情報(Client ID と Client Secret)を取得するには、Microsoft Azure Portal でアプリケーションを登録する必要があります。

OAuth 認証情報の取得

  1. Azure Portal にログインします。
  2. Azure Active Directory > App registrations に移動します。
  3. New registration をクリックして新しいアプリケーションを作成します。
  4. アプリケーション名を入力し、適切なアカウントの種類を選択します。
  5. Redirect URI をアプリケーションのコールバック URL に設定します(デスクトップアプリの場合は http://localhost:33333 など)。
  6. Register をクリックしてアプリケーションを作成します。
  7. アプリケーションの概要ページで Application (client) ID をコピーします。これが OAuthClientId になります。
  8. Certificates & secrets に移動して、新しいクライアントシークレットを作成します。
  9. クライアントシークレットの値をコピーします。これが OAuthClientSecret になります。
  10. API permissions に移動して、必要な Microsoft Graph API の権限を追加します:
    • Mail.Read - メールメッセージへのアクセス用
    • Contacts.Read - 連絡先へのアクセス用
    • Calendars.Read - カレンダーイベントへのアクセス用
    • Tasks.Read - To Do タスクへのアクセス用
    • offline_access - リフレッシュトークンの取得用
  11. Grant admin consent をクリックして、これらの権限を付与します。

OAuth での接続

以下の接続プロパティを設定して接続を確立してください:

  • AuthScheme:OAuth に設定します。
  • InitiateOAuthGETANDREFRESH に設定します。CData API Profile for Outlook が OAuth プロセスを自動的に進め、アクセストークンを取得します。
  • OAuthClientId:Azure Portal の Application (client) ID に設定します。
  • OAuthClientSecret:Azure Portal のクライアントシークレットの値に設定します。
  • TenantId:Azure AD のテナント識別子(GUID または 'contoso.onmicrosoft.com' のようなドメイン名)に設定します。
  • CallbackURL:アプリ登録で指定したリダイレクト URI に設定します(デスクトップアプリの場合は http://localhost:33333 など)。

接続文字列の例

Profile=C:\profiles\Outlook.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;TenantId=your_tenant_id;CallbackUrl=http://localhost:33333;

API Server のユーザー設定

次に、API Server 経由でOutlook にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。

  1. 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
  2. 次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
  3. その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。

Outlook 用のAPI エンドポイントの作成

ユーザーを作成したら、Outlook のデータ用のAPI エンドポイントを作成していきます。

  1. まず、「API」ページに移動し、 「 テーブルを追加」をクリックします。
  2. アクセスしたい接続を選択し、次へをクリックします。
  3. 接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。

OData のエンドポイントを取得

以上でOutlook への接続を設定してユーザーを作成し、API Server でOutlook データのAPI を追加しました。これで、OData 形式のOutlook データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。

オンプレミスDB やファイルからのAPI Server 使用(オプション)

オンプレミスRDB やExcel/CSV などのファイルのデータを使用する場合には、API Server のCloug Gateway / SSH ポートフォワーディングが便利です。Cloud Gatway の設定方法 記事を参考にしてください。

プロジェクト・シナリオの作成

API Server 側の準備が完了したら、早速BizteX Connect 側でプロジェクト・シナリオの作成を開始します。

  1. まずはプロジェクトとシナリオ(フロー)を作成します。シナリオ(フロー)はプロジェクト単位でまとめて管理できるようです。
  2. 「新規プロジェクト作成」をクリック
  3. 任意の名称でプロジェクトを作成します。
  4. その後「+新規シナリオ作成」をクリックして、kintone データ連携シナリオの作成を進めていきます。

起動イベントの設定

シナリオの作成で一番最初に設定することが、起動イベントの構成です。BizteX Connect ではさまざまな起動イベントが存在しますが、今回は検証用途として「手動」実行にしてみました。

  1. 「アプリ選択」の一覧から「一般」を選択し
  2. 「ボタンを押して実行」を選択します。
  3. それぞれのイベントでは出力データが変数として格納されます。内容を確認して「完了して次へ」をクリックしましょう。

HTTP コネクタの構成

今回のシナリオでは、Outlook のデータを取得して BizteX Connect で扱えるようにします。

  1. API Server へのアクセスには「HTTP コネクタ」が利用できるので、アプリの一覧から選択します。
  2. アクションは「HTTP リクエスト」を指定します。
  3. 続いて、データを取得するためのAPI リクエストを指定します。今回はデータを取得するのでGET リクエストです。対象のURL はAPI Server のAPI ドキュメントから取得してきて指定しましょう。
  4. 基本設定が完了したら、オプションを指定します。ここで最低限必要になるオプションはAPI Server への認証情報の指定です。以下のようなJSON 形式でx-cdata-authtoken のプロパティにAPI Server で構成したユーザーのトークンを指定すれば接続が行えます。
  5. すべての設定が完了したら出力結果を確認してみましょう。以下のようにBody の中の「value」オブジェクトの中に配列形式でデータが格納されていることが確認できます。正常にBizteX Connect からOutlook のデータが取得できていますね。
  6. あとはBizteX Connect の各種機能を活用して、さまざまなサービスとの連携を実現できます。

このように、CData API Server を経由することで、API 側の複雑な仕様を意識せずにAPI 連携をしたプロジェクトをBizteX Connect で開発できます。他にも多くのデータソースに対応するCData API Server の詳細をこちらからご覧ください。

はじめる準備はできましたか?

詳細はこちら、または無料トライアルにお申し込みください:

CData API Server