LINQPad でServiceDesk Plus のデータを操作する方法

加藤龍彦
加藤龍彦
デジタルマーケティング
LINQPad でServiceDesk Plus にLINQ クエリを実行する方法を解説します。



CData ADO.NET Provider for API は、LINQ やEntity Framework などの標準のADO.NET インターフェースを使ってServiceDesk Plus の操作を実現します。この記事では、LINQPad から接続してLINQ クエリを実行する方法を説明します。

必要なもの

本記事の手順を実行してLINQPad からServiceDesk Plus に接続するには、以下の3つの製品が必要になります。

  • ServiceDesk Plus の環境
  • LINQPad
  • CData ADO.NET Provider for API。右側のサイドバーから30日間無償トライアルがダウンロードできます

データモデルの作成

CData ADO.NET Provider for API およびLINQPad をダウンロード・インストールしたら、Visual Studio で新しいクラスライブラリプロジェクトを作成します。

ADO.NET Provider の利用に必要となるEF 6を設定する方法については、ヘルプドキュメントを参照してください。

  1. プロジェクトを右クリックし、[追加]→[新しい項目]→[ADO.NET Entity Data Model]をクリックします。ダイアログが表示されたら、データベースから[Code First]を選択します。 [New Connection]をクリックして、表示されたウィザードで接続文字列オプションを指定します。

    New Connectionを選択して新しい接続設定を作成
  2. 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;
    

    一般的な接続文字列は次のとおりです。

    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;
  3. 希望するテーブルおよびビューを選択して[Finish]をクリックし、データモデルを作成します。

    下部のFinishをクリックしてデータモデルを作成
  4. プロジェクトをビルドします。生成されたファイルを使ってLINQPad でServiceDesk Plus 接続を作成できます。

LINQPad でServiceDesk Plus のデータに接続

必要な接続プロパティを取得してデータモデルアセンブリを作成したら、以下の手順に従ってLINQPad でデータモデルを使いはじめましょう。

  1. LINQPad を開き[接続の追加]をクリックします。

    接続の追加をクリック
  2. [Use a typed data context from your own assembly]オプションを選択します。

  3. [Entity Framework DbContext]を選択します。

    下部のフィールドから[Entity Framework DbContext]を選択
  4. [Path to Custom Assembly]ボックスの横にある[参照]をクリックして、プロジェクトフォルダを参照します。bin フォルダの下の.dll または.exe を参照します。

  5. DbContext の名前を選択します。
  6. 接続文字列をApp.Config に保存した場合は、App.Config へのパスを指定します。
DbContextの名前とApp.Configへのパスを指定

これでLINQPad 経由でServiceDesk Plus にクエリできます。サポートされたLINQ クエリの例は、ヘルプドキュメントの「LINQ およびEntity Framework」を参照してください。

LINQPad からServiceDesk Plusに接続

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

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

ServiceDesk Plus に接続