Desktop CentralのAPIについて
作成日:2020年7月10日 | 更新日:2020年7月13日
この記事では、Desktop CentralのAPIについて基本的な内容を説明しています。
Desktop CentralのAPIについて
Desktop Centralでは、パッチ管理やインベントリ管理など一部の機能について、Rest APIを使用した操作が可能です。
APIについての詳細は以下をご覧ください(英語)。
- https://www.manageengine.com/products/desktop-central/api/
- Desktop Centralログイン後、 管理タブ > 統合化 > APIエクスプローラー
一部のAPIに関する不具合について、詳細はこちらをご覧ください。
API - URI構造
すべてのAPI URIは次の形式で構成する必要があります。
<Desktop Centralサーバー URL>/api/{Version}/{Entity}/{Operation/Action}
タグ | 必須/任意 | 内容 | 用途/説明 |
---|---|---|---|
Version | 必須 | APIバージョン | 現在のバージョンは1.3です |
Entity | 必須 | APIモジュール | (例)inventory, som, desktop, patch |
Operation/Action | 必須 | 操作/アクション | (例)computers, computers/installagents |
APIによる検索
検索操作は、ページ分割された応答を返すURIで実行できます。
検索タイプと検索列パラメーターは、検索する必要がある列名に設定され、検索値は検索クエリに設定されます。
searchtype={resources}&searchcolumn={computername}&searchvalue={searchvalue}
たとえば、ソフトウェアインベントリで「Adobe」を含むソフトウェアを検索するには、以下のようになります。
searchtype=software_name&searchcolumn=software_name&searchvalue=Adobe
ページ分割された応答
一部のURIでは、オブジェクトの配列で構成されるレスポンスを返します。このレスポンスはページ分割されており、そのAPIのすべてのオブジェクトのサブセットまたはページのみを返します。そのため、ページ制限とページパラメータを使用して、レスポンスごとのオブジェクト数と取得するページを指定します。
page={page}&pagelimit={page_limit}
たとえば、APIがページごとに10個のオブジェクトを返し、2番目のページを表示したい場合は、APIの最後に以下を追加します
page=1&pagelimit=10
認証
APIにアクセスするには認証トークンが必要です。認証トークンを取得するには、認証URIを使用します。
/api/1.3/desktop/authentication
1(a). ローカル認証でトークンを生成する
POSTリクエストのHTTPヘッダーではContent-Type:application/jsonを指定し、リクエストボディには以下のJSONを含めます。パスワードはbase64エンコードします。
POST /api/1.3/desktop/authentication
{
"username":<Username>,
"password":<Password base64 encoded>,
"auth_type":"local_authentication"
}
1(b). AD認証でトークンを生成する
POSTリクエストのHTTPヘッダーではContent-Type:application/jsonを指定し、リクエストボディには以下のJSONを含めます。パスワードはbase64エンコードします。
なお、ドメイン名はCommon > ServerDiscover APIで取得可能です。
POST /api/1.3/desktop/authentication
{
"username":<Username>,
"password":<Password base64 encoded>,
"auth_type":"ad_authentication" ,
"domainName": <Domain Name>
}
2. レスポンス
以下の例のようなレスポンスが取得できます。取得できたauthtokenを、リクエストのHTTPヘッダーにかならず含める必要があります。
{ "message_type": "authentication", "message_response": {"authentication": { "user_permissions": { "read": ["Common_Read","SOM_Read", "Tools_Read"], "admin": ["Common_Admin","SOM_Admin","Tools_Admin" ], "write": [ "Common_Write","SOM_Write","Tools_Write"] },"user_data": { "auth_type": "Local Authentication", "user_id": 1, "user_name": "admin", "phone_number": null, "email": "" }, "auth_data": { "auth_token": "********-****-****-****-************"} } }, "message_version": "1.0", "status": "success" }