LINQ を使ってTalkdesk のデータに連携する方法

加藤龍彦
加藤龍彦
デジタルマーケティング
CData ADO.NET ProviderとEntity Frameworkを使い、LINQクエリでTalkdesk のデータにアクセスする接続設定から実装までの手順を解説します。



この記事では、CData ADO.NET Data Provider for Talkdesk 経由でLINQ を使ってTalkdesk テーブルにアクセスする方法を説明します。これを行うには、Entity Framework にLINQ を使います。これにより接続を作成し、あらゆる CData ADO.NET Data Providers からLINQ を使ってデータにアクセスできるようになります。

  1. Visual Studio の新規プロジェクトで、プロジェクトを右クリックし[新しい項目の追加]を選択します。[ADO.NET Entity Data Model]を追加します。
  2. [データベースから生成]を選択し、[次へ]をクリックします。
  3. [接続の追加]をクリックし、データソースタイプを "CData Talkdesk Data Source" に変更します。
  4. データソースの接続情報を入力します。一般的な接続プロパティは以下のとおりです:

    Talkdesk では OAuth 2.0 の Client Credentials グラントを使用します。ブラウザでの認可ステップやコールバック URL は必要ありません。

    以下の接続プロパティを設定します。

    • AccountName:Talkdesk アカウントの名前。
    • Region:Talkdesk インスタンスがデプロイされているリージョン。指定できる値は US(デフォルト)、EU、CA、AU、UK、FedRamp です。
    • OAuthClientId:カスタム OAuth アプリケーションの登録時に割り当てられた Client Id。
    • OAuthClientSecret:カスタム OAuth アプリケーションに割り当てられた Client Secret。

    カスタム OAuth アプリケーションの作成

    1. Talkdesk アカウントにログインし、ナビゲーションメニューから OAuth Clients を選択します。
    2. Create OAuth Client をクリックし、クライアントにわかりやすい名前を付けます。
    3. Grant Type を Client Credentials に設定します。
    4. Add scopes をクリックし、アクセスしたいデータに応じたスコープを選択します。
    5. Create をクリックし、Client Id と Client Secret をコピーします。

    接続時、ドライバーは Talkdesk にアクセストークンを自動でリクエストしてキャッシュし、有効期限が切れると更新します。アプリケーションで選択したスコープが、クエリ予定のビューに対応していることを確認してください。対応していない場合、トークンのリクエストが失敗することがあります。

    Below is a typical connection string:

    AccountName=myAccount;Region=US;OAuthClientId=myClientId;OAuthClientSecret=myClientSecret;
  5. Required connection properties for the data source. (Salesforce is shown.)
  6. エンティティ接続をApp.Config に保存する場合は、エンティティ名を設定します。この例では、TalkdeskEntities をエンティティ接続としてApp.Config に設定しています。
  7. モデル名を入力し、モデルに含めたいテーブルまたはビューを選択します。
The available tables in the underlying data source. (QuickBooks is shown.)

作成したエンティティを使って、選択、更新、削除、および挿入コマンドが実行できます。例:


TalkdeskEntities context = new TalkdeskEntities();
var usersQuery = from users in context.Users  select users;
foreach (var result in usersQuery) {
	Console.WriteLine("{0} {1} ", result.Id, result.Id);
}
	

サポートされたLINQ のクエリ例は、ヘルプドキュメントの「LINQ およびEntity Framework」をご参照ください。

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

Talkdesk Data Provider の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Talkdesk Icon Talkdesk ADO.NET Provider

Talkdesk 連携のパワフルな.NET アプリケーションを素早く作成して配布。