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

加藤龍彦
加藤龍彦
デジタルマーケティング
LINQ は.NET Framework 3.0以上でデータクエリ用のインターフェースを提供し、CData Data Providers for ADO.NET からプログラムでデータにアクセスする簡単な方法を提供します。この記事では、LINQ を使ってServiceDesk Plus Data Provider から情報にアクセスします。



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

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

    OAuth 認証の設定

    ServiceDeskPlus は、安全な認証のために Zoho OAuth 2.0 を使用します。OAuth アクセスをセットアップするには、以下のステップで進めます:

    1. https://api-console.zoho.com の Zoho Developer Console でアプリケーションを登録します
    2. アプリケーション構成に合わせてリダイレクト URI を設定します
    3. アプリケーション設定から Client ID と Client Secret を控えておきます

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

    • AuthScheme:OAuth に設定します。
    • OAuthClientId:Zoho アプリケーションの Client ID に設定します。
    • OAuthClientSecret:Zoho アプリケーションの Client Secret に設定します。
    • Scope:必要な ServiceDeskPlus の権限に設定します(デフォルトでは requests、problems、assets、projects への読み取りアクセスが含まれます)。
    • Domain:ServiceDeskPlus のドメインに設定します。
    • Portal:ServiceDeskPlus のポータルに設定します。

    接続文字列の例

    Profile=C:\profiles\ServiceDeskPlus.apip;ProfileSettings="Portal=itdesk;Domain=.in;Scope=SDPOnDemand.requests.READ SDPOnDemand.problems.READ SDPOnDemand.assets.READ SDPOnDemand.projects.READ";AuthScheme=OAuth;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;
    

    Below is a typical connection string:

    Profile=C:\profiles\ServiceDeskPlus.apip;ProfileSettings="Portal=itdesk;Domain=.in;Scope=SDPOnDemand.requests.READ SDPOnDemand.problems.READ SDPOnDemand.assets.READ SDPOnDemand.projects.READ";AuthScheme=OAuth;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;
  5. Required connection properties for the data source. (Salesforce is shown.)
  6. エンティティ接続をApp.Config に保存する場合は、エンティティ名を設定します。この例では、APIEntities をエンティティ接続としてApp.Config に設定しています。
  7. モデル名を入力し、モデルに含めたいテーブルまたはビューを選択します。
The available tables in the underlying data source. (QuickBooks is shown.)

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

APIEntities context = new APIEntities();
var announcementcommentsQuery = from announcementcomments in context.AnnouncementComments  select announcementcomments;
foreach (var result in announcementcommentsQuery) {
	Console.WriteLine("{0} {1} ", result.Id, result.);
}
	

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

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

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

ServiceDesk Plus に接続