JavaScriptソフトウェア開発キット
JS APIとは、ServiceDesk Plus Cloudの様々な機能を、作成するカスタムウィジェットに組み込むためのJS関数です。
アプリケーションから JavaScript API にアクセスするには、次のJavaScriptファイルをすべての HTML/ウィジェットページに追加します。https://sdpondemand.manageengine.com/scripts/v1/widget/sdpclientsdk.min.js
JSファイルは、APIを呼び出すすべてのウィジェットページにロードする必要があります。次の構文を使用して、JavaScriptファイルをウィジェットページに追加します。
構文
<script type="text/javascript" src="https://help.assetexplorercloud.com/portal/en/kb/articles/https://sdpondemand.manageengine.com/scripts/v1/widget/sdpclientsdk.min.js"></script>
JavaScript API
カスタムウィジェットを開発する際には、JS API
関数を使用して、自分のウィジェットやサードパーティ・アプリケーションへの呼び出しを行うことができます。このページでは、カスタムウィジェットとそのユースケースを構築するために使用できるさまざまな機能について説明します。
カスタムウィジェットの一般的な機能
SDP.init()
JS SDKを初期化し、製品とカスタムウィジェット間の接続を確立することでユーティリティ関数を定義します。この関数は、カスタムウィジェットと他のJS
APIの間の接続を確立して、それらをユーザーに表示するための基盤として機能します。他のJS APIは、初期化が完了したときにのみ定義されます。
戻り値
Promise - API成功で解決、API失敗で拒否
構文
- SDP.init().then(function(response) {
- console.log(response);
- }).catch(function(response) {
- console.log(response);
- });
サンプル
| API呼び出し | 成功応答 |
|---|---|
|
SDP.init().then(function(response) { console.log(response); }).catch(function(response) { console.log(response); }); |
{ "meta": { "module": "header", "instance": { "appid": "709641411", "appname": "widgetdev", "appdisplayname": "Widget Development" }, "personalization": { "time_zone": "Asia/Kolkata", "time_format": "MMM d, yyyy hh:mm a", "date_format": "MMM d, yyyy" }, "userLanguage": "en", "userLocale": "en_US", "userType": "Technician", "userId": "120747000000232217", "userName": "Widget Development", "userEmail": " widget_dev@sdpdev.onmicrosoft.com ", "isSDAdmin": true, "widget": { "id": "120747000002587069", "name": Custom Widget ", "description": "", "custom_widget": { "id": "120747000002587067" } } }, "uniqueID": "78d261d9-65f7-48bc-b10d-84b7e79b1285", "location": "webtab" } |
SDP.invokeUrl (オプション)
統合されたサードパーティアプリケーションからデータを取得します。関数は、URL、メソッド、ヘッダー、パラメーター、ペイロード、ファイルID(プローブベースの統合ではサポートされていない)、接続経路(プローブまたは接続リンク)などのさまざまなオプションパラメーターの下にマップされます。サードパーティのURLを直接呼び出すことも、接続/プローブを使用して呼び出すこともできます。デフォルトでは、接続またはプローブが設定されていない場合、サードパーティのURLが直接呼び出されます。
パラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
|
オプション* |
オブジェクト |
APIの詳細を含むオブジェクト。 プロパティ タイプ 説明 URL* 文字列 API URLを示します。スペースが含まれている場合は、URLをエンコードします。 メソッド 文字列 API呼び出しのメソッドを示します。デフォルトでは、「ポスト」メソッドが渡されます。 サポートされているメソッド:get、post、put、delete、patch。 パラメーター オブジェクト APIのパラメーターをキー値形式で示します。 ヘッダー オブジェクト APIのパラメーターをキー値形式で示します。 ペイロード 文字列 リクエストボディに渡される文字列。 is_probe_connection 条件検索 Trueに設定すると、接続はプローブを介して確立されます。イントラネットサイトに接続するため、またはクラウドとオンプレミスアプリケーション間の接続を確立するために使用されます。 connectionLinkName 文字列 DRE接続リンク名を指定します。ここでは、カスタムウィジェットパッケージにインストールされている接続のみを使用できます。これは、「is_probe_connection」プロパティがtrueでない場合にのみ考慮されます。 file_id long ServiceDesk Plus CloudファイルIDを示します。このオプションは、添付ファイルをサードパーティアプリケーションにアップロードする必要がある場合に使用されます。このプロパティは、「connectionLinkName」が指定されている場合にのみサポートされます。 |
*必須パラメーター
戻り値
Promise - APIが成功した場合は解決され、APIが失敗した場合は拒否されます。
構文
- SDP.invokeUrl(options).then(function(response) {
- console.log(response);
- }).catch(function(response) {
- console.log(response);
- });
サンプル
| API呼び出し | 成功応答 | 失敗応答 |
|---|---|---|
|
SDP.invokeUrl({ “url”: “https: //api.twitter.com/1.1/statuses/update.json”, “method”: “post”, “params”: { “status”: "SDP and twitter integrated" }, “connectionLinkName”: “twitter” }).then(function(response) { console.log(response); }).catch(function(response) { console.log(response); }); |
//Based on 3rd party API |
//Based on 3rd party API |
カスタムウィジェットiFrameの管理
SDP.openWidget(options)
カスタムウィジェット内のポップアップとして新しいウィジェットを開きます。
パラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
|
オプション* |
オブジェクト |
APIの詳細を含むオブジェクト。 プロパティ タイプ 説明 ID* long 開くウィジェットのIDを示します。 名前* 文字列 開くウィジェットの名前を示します。 件名 文字列 ポップアップのタイトルを設定します。タイトルが渡されない場合、ウィジェット名がポップアップタイトルとして設定されます。 データ オブジェクト 開いているウィジェットに渡されるデータを指定します。 |
*必須パラメーター
戻り値
Promise - 成功すれば解決、失敗すれば拒否。
構文
- SDP.openWidget(options).then(function(response) {
- console.log(response);
- }).catch(function(response) {
- console.log(response);
- });
サンプル
| API呼び出し | 成功応答 | 失敗応答 |
|---|---|---|
|
SDP.openWidget({ id: "100000000000032273", data: { mode: "new_user" } }).then(function(response) { console.log(response); }).catch(function(response) { console.log(response); }); |
{ message: “ウィジェットが正常に開かれました” } |
{ "message": "レンダリングするには、必要な表示権限を持つ有効なウィジェットIDまたは名前を指定します" } |
SDP.closeWidget()
カスタムウィジェットがロードされているポップアップを閉じます。このAPIは、メニューウィジェットやSDP.openWidget
APIを使用して開かれたウィジェットなど、ポップアップウィンドウでウィジェットが開かれた場合にのみ機能します。
戻り値
Promise - 成功すれば解決、失敗すれば拒否。
構文
- SDP.closeWidget().catch(function(response) {
- console.log(response);
- });
SDP.closeWidget()呼び出しが正常に実行されると、ウィンドウ内のウィジェットポップアップが閉じます。したがって、このAPIには成功コールバックは必要ありません。
サンプル
| API呼び出し | 失敗応答 |
|---|---|
|
SDP.closeWidget().catch(function(response) { console.log(response); }); |
{ message: “このビューでは、リクエストされたアクションはサポートされていません。” } |
SDP.resizeWidget(options)
必要に応じて、カスタムウィジェットポップアップのサイズを変更します。許可されるウィジェットの最大サイズは1200 X 800ピクセルです。
このAPIは、メニューウィジェットやSDP.openWidget APIを使用して開かれたウィジェットなど、ポップアップウィンドウでウィジェットが開かれた場合にのみ機能します。
パラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
|
オプション* |
オブジェクト |
APIの詳細を含むオブジェクト。 プロパティ タイプ 説明 幅* 整数 必要なウィジェットのポップアップ幅をピクセル単位で指定します。ポップアップの最大幅は1200ピクセルです。 高さ* 整数 必要なウィジェットのポップアップの高さをピクセル単位で指定します。ポップアップの最大高さは800ピクセルです。 |
*必須パラメーター
戻り値
Promise - 成功すれば解決、失敗すれば拒否。
構文
- SDP.resizeWidget(options).then(function(response) {
- console.log(response);
- }).catch(function(response) {
- console.log(response);
- });
サンプル
| API呼び出し | 成功応答 | 失敗応答 |
|---|---|---|
|
SDP.resizeWidget({ width: 1000, height: 500 }).then(function(response) { console.log(response); }).catch(function(response) { console.log(response); }); |
{ "message": "ウィンドウのサイズ変更が正常に完了しました" } |
{ "message": "幅は有効な数値ではありません" } |