Outlook のデータ 用のシンプルな VCL アプリケーションを構築

Dibyendu Datta
Dibyendu Datta
Lead Technology Evangelist
CData ODBC Driver for Outlook を使用して RAD Studio でOutlook のデータを表示するシンプルな VCL アプリケーションを構築する方法を説明します。



Embarcadero RAD Studio は、Delphi および C++Builder アプリケーション用の開発環境を提供します。CData ODBC Driver for Outlook を使用すると、RAD Studio 内からリアルタイムOutlook のデータにアクセスでき、データをテーブル、ビュー、ストアドプロシージャとして抽象化してOutlook のデータの取得が可能です。この記事では、Outlook に接続し、フォームデザイナを使用してシンプルな VCL アプリケーションを作成する方法を説明します。

Outlook のデータ への接続を作成

まだ設定していない場合は、ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最後のステップです。Microsoft ODBC データソースアドミニストレーターを使用して、ODBC DSN を作成・設定できます。

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;

次に、以下の手順で Data Explorer を使用してOutlook のデータへの FireDAC 接続を作成します。

  1. 新しい VCL フォームアプリケーションで、Data Explorer の FireDAC ノードを展開します。
  2. Data Explorer で ODBC Data Source ノードを右クリックします。
  3. [新しい接続の追加] をクリックします。
  4. 接続の名前を入力します。
  5. 表示される FireDAC Connection Editor で、DataSource プロパティに Outlook 用 ODBC DSN の名前を設定します。

Outlook のデータ に接続する VCL アプリケーションを作成

以下の手順に従って、クエリ結果をグリッドに表示するシンプルな VCL アプリケーションからOutlook のデータへのクエリ実行を開始します。

  1. TFDConnection コンポーネントをフォームにドロップし、以下のプロパティを設定します。

    • ConnectionDefName:Outlook のデータへの FireDAC 接続を選択します。
    • Connected: メニューから True を選択し、表示されるダイアログで資格情報を入力します。
  2. TFDQuery コンポーネントをフォームにドロップし、以下のプロパティを設定します。

    • Connection: まだ指定されていない場合は、このプロパティを TFDConnection コンポーネントに設定します。
    • SQL: SQL プロパティのボタンをクリックしてクエリを入力します。例:

      SELECT ,  FROM CalendarGroupCalendars WHERE CalendarGroupId = 'group_id'
      
    • Active: このプロパティを true に設定します。
  3. TDataSource コンポーネントをフォームにドロップし、以下のプロパティを設定します。

    • DataSet: このプロパティのメニューで、TFDQuery コンポーネントの名前を選択します。
  4. TDBGrid コントロールをフォームにドロップし、以下のプロパティを設定します。

    • DataSource: TDataSource の名前を選択します。
  5. TFDGUIxWaitCursor をフォームにドロップします。これはランタイムエラーを回避するために必要です。

これで、TFDQuery オブジェクトに設定された SQL クエリの結果を表示する実行可能なアプリケーションが完成しました。

関連記事

RAD Studio、Delphi、C++ Builder で CData ODBC ドライバを使用するその他の記事は以下をご覧ください。

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

API Driver で Outlook のライブデータに接続

Outlook に接続