Visual Studio でApprovalMax とチャートをデータバインドする方法

加藤龍彦
加藤龍彦
デジタルマーケティング
CData ADO.NET Providerを使い、Visual StudioのチャートコントロールとApprovalMax を標準手順でデータバインドしてリアルタイムに可視化する方法を解説します。

データバインドによって、UI コントロールからデータに接続できます。 CData ADO.NET Provider for API を使って、Visual Studio 上でWindows Forms およびWeb Forms とApprovalMax をデータバインドできます。この記事で、ApprovalMax を、ウィザードから変更をリアルタイムで反映するチャートにデータバインドする方法を説明します。 Code Walk-through セクションではチャートはほんの10行のコードで作成します。

チャートへのデータバインド

データバインドは3つのステップから構成されます。コントロールのインスタンス作成、データソースの設定、最後にデータバインドです。

接続を設定してデータベースオブジェクトを選択

下の手続きにより、データソース構成ウィザードを使ってチャートコントロールとApprovalMax との接続を作成します。ウィザード上でデータバインドをするApprovalMax エンティティを使います。

  1. Windows Forms プロジェクトでは、チャートコントロールをツールボックスからフォーム上にドラグ&ドロップします。チャートプロパティのデータセクションで DataSource を選択し、メニューからプロジェクトデータソースの追加を選択します。 チャートにバインドするデータソースを追加。
  2. 出てくるデータソース構成ウィザードでデータベース -> データセットを選択します。
  3. データ接続ステップで、「新しい接続」をクリックします。
  4. データ接続の選択ダイアログで、「変更」をクリックして、CData ApprovalMax のデータソースを選択して、接続プロパティを入力します。下は代表的な接続文字列ですです。:

    Below is a typical connection string:

    Profile=C:\profiles\ApprovalMax.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackURL=your_callback_url;

    まず、Profile 接続プロパティをディスク上の ApprovalMax プロファイルの場所に設定します(例:C:\profiles\ApprovalMax.apip)。次に、ProfileSettings 接続プロパティを ApprovalMax の接続文字列に設定します(以下を参照)。

    ApprovalMax API プロファイル設定

    ApprovalMax Public API では、OAuth 2.0 の認可コードフローで認証を行います。自分のデータに接続するだけでなく、他のユーザーが各自のデータに接続できるようにすることも可能です。

    まず、ApprovalMax に OAuth アプリケーションを登録する必要があります。ApprovalMax Developer Portal(https://developer.approvalmax.com/applications)にサインインし、新しいアプリケーションを作成します。OAuth アプリケーションには Client ID と Client Secret が割り当てられます。また、Redirect URI(Callback URL)を少なくとも1つ登録しておく必要があります。

    Public API を利用するには、ApprovalMax の Premium サブスクリプション(または有効なトライアル)が必要です。

    以下の接続プロパティを設定すると、接続できるようになります。

    • AuthScheme:OAuth に設定します。
    • InitiateOAuth:GETANDREFRESH に設定します。InitiateOAuth を使うと、OAuthAccessToken を取得するプロセスを管理できます。
    • OAuthClientId:ApprovalMax Developer Portal のアプリケーション設定に表示される Client ID に設定します。
    • OAuthClientSecret:ApprovalMax Developer Portal のアプリケーション設定に表示される Client Secret に設定します。
    • CallbackURL:アプリケーション設定で登録した Redirect URI に設定します。
    • Scope:(オプション)デフォルトの OAuth スコープを上書きします。デフォルト値の openid offline_access https://www.approvalmax.com/scopes/public_api/read は、このプロファイルのすべてのテーブルへの読み取り専用アクセスを許可し、リフレッシュトークンを有効にします。スコープを絞り込む際は、最小権限の原則に従ってください。

    OAuth の Authorization URL は https://identity.approvalmax.com/connect/authorize、Token URL は https://identity.approvalmax.com/connect/token です。グラントタイプは authorization_code と refresh_token の両方に対応しています。

  5. 接続の追加ダイアログで選択したデータソースの接続プロパティ画面(Salesforce の例)。
  6. 使用するデータソースオブジェクトを選択します。例は UserProfiles テーブルです。 データベースオブジェクトの選択画面(Salesforce の例)。

DataBind

データソースの追加とデータベースオブジェクトを選択したら、チャートにオブジェクトをバインドします。この例では、X軸に UserId をY軸に Email を設定します。

  1. チャートプロパティで、Series プロパティをクリックし、Series コレクション エディター を開きます。
  2. Series プロパティでX軸、Y軸に設定するカラムを選択します:XValueMember および YValueMember プロパティにメニューからカラムを選びます。
Series Collection Editor で定義したチャートの軸。

チャートはこれでApprovalMax にデータバインドされました。チャートを実行して最新のデータを表示させましょう。 実行時にデータが反映されたチャート。

コード Walk-through

ApprovalMax へのデータバインドはほんの数行のコードのみが必要で、3つの簡単なステップで完了できます。

  1. ApprovalMax に接続します。
  2. APIDataAdapter を作成して、クエリを作成し、結果を入れるデータセットを作成します。
  3. 結果セットとチャートをデータバインドします。

下に完全なコードを示します:


APIConnection conn = new APIConnection("Profile=C:\profiles\ApprovalMax.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackURL=your_callback_url;");
APICommand comm = new APICommand("SELECT UserId, Email FROM UserProfiles WHERE CompanyId = '00000000-0000-0000-0000-000000000000'", conn);
APIDataAdapter da = new APIDataAdapter(comm);
DataSet dataset = new DataSet();
da.Fill(dataset);

chart1.DataSource = dataset;
chart1.Series[0].XValueMember = "UserId";
chart1.Series[0].YValueMembers = "Email";
// Insert code for additional chart formatting here.
chart1.DataBind();

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

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

ApprovalMax に接続