LINQ を使ってTalkdesk のデータに連携する方法
この記事では、CData ADO.NET Data Provider for Talkdesk 経由でLINQ を使ってTalkdesk テーブルにアクセスする方法を説明します。これを行うには、Entity Framework にLINQ を使います。これにより接続を作成し、あらゆる CData ADO.NET Data Providers からLINQ を使ってデータにアクセスできるようになります。
- Visual Studio の新規プロジェクトで、プロジェクトを右クリックし[新しい項目の追加]を選択します。[ADO.NET Entity Data Model]を追加します。
- [データベースから生成]を選択し、[次へ]をクリックします。
- [接続の追加]をクリックし、データソースタイプを "CData Talkdesk Data Source" に変更します。
データソースの接続情報を入力します。一般的な接続プロパティは以下のとおりです:
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 アプリケーションの作成
- Talkdesk アカウントにログインし、ナビゲーションメニューから OAuth Clients を選択します。
- Create OAuth Client をクリックし、クライアントにわかりやすい名前を付けます。
- Grant Type を Client Credentials に設定します。
- Add scopes をクリックし、アクセスしたいデータに応じたスコープを選択します。
- Create をクリックし、Client Id と Client Secret をコピーします。
接続時、ドライバーは Talkdesk にアクセストークンを自動でリクエストしてキャッシュし、有効期限が切れると更新します。アプリケーションで選択したスコープが、クエリ予定のビューに対応していることを確認してください。対応していない場合、トークンのリクエストが失敗することがあります。
Below is a typical connection string:
AccountName=myAccount;Region=US;OAuthClientId=myClientId;OAuthClientSecret=myClientSecret;- エンティティ接続をApp.Config に保存する場合は、エンティティ名を設定します。この例では、TalkdeskEntities をエンティティ接続としてApp.Config に設定しています。
- モデル名を入力し、モデルに含めたいテーブルまたはビューを選択します。
作成したエンティティを使って、選択、更新、削除、および挿入コマンドが実行できます。例:
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」をご参照ください。