すべてのプロダクト
Search
ドキュメントセンター

Elastic Desktop Service:Web SDK

最終更新日:May 26, 2025

1. Web SDKとは何ですか?

Alibaba Cloud Workspace SDK for Webを使用すると、Alibaba cloud Workspace webクライアントからクラウドコンピューターおよびアプリケーションに接続できます。 Alibaba Cloud Workspace SDK for Webと統合することで、ビジネス要件に合ったwebクライアントを迅速に設定できます。

2. クイックスタート

SDKとデモのダウンロード

説明

このプラットフォームのすべてのドキュメント、SDK、およびクライアントプログラムは、ユーザーまたは組織による使用が制限されています。 Alibaba Cloudの事前の同意なしに、これらのリソースを第三者または他の組織と共有してはなりません。

ディレクトリ構造

├── WuyingWebDemo.html
├── WuyingWebSDK.js
├── HDXEngine.html
├── HDXLauncher.js
└── sdk
     └── ASP
          └── container.html 
説明: WuyingWebDemo.htmlはサンプルSDKです。 WuyingWebSDK.jsは、フロントエンドで参照する必要があるSDK内のAPIファイルです。 HDXEngine.htmlは、Citrix Workspaceに必要なファイルです。 必要がない場合は、ファイルを削除できます。 HDXLauncher.jsは、Citrix Workspaceに必要なファイルです。 必要がない場合は、ファイルを削除できます。 sdkは、iframeを使用して埋め込まれたリソースファイルです。

3. APIの説明

3.1 WebSDK

名前

タイプ

説明

apiVersion

String

Web SDKのバージョン。

createSession(sessionId:string, sessionParams: SessionParam)

クラウドコンピュータまたはアプリケーションのセッションを作成します。 このセッションは、バックエンドで割り当てられたセッションと同じではありません。

パラメーター

タイプ

説明

id

String

セッションの一意の識別子。 このパラメーターはユーザー定義です。

sessionParams

SessionParam

セッションパラメーター。

var userInfo = {
  loginToken: loginToken,
  sessionId: sessionId,
  authCode: authCode,
};

var appInfo = {
  appId: appId,
  appVersion: appVersion,
  loginRegionId: 'cn-shanghai',
};
var sessionParam = {
  openType: openType,
  iframeId: 'sessionIframe',
  resourceType: resourceType,
  connectType: 'app',
  userInfo: userInfo,
  appInfo: appInfo,
};

var wuyingSdk = Wuying.WebSDK;
var session = wuyingSdk.createSession('appstream', sessionParam);

3.2 メソッド

start(): セッションを作成します。

var session = wuyingSdk.createSession('appstream', sessionParam);
session.start();

stop(): セッションを停止します。

var session = wuyingSdk.createSession('appstream', sessionParam);
session.start();
....
session.stop();

addHandle (name: SessionEventType、callback: Function)

イベントのリスナーを追加します。

パラメーター

タイプ

説明

name

String

リッスンするイベントのタイプ。 詳細については、SessionEventTypeの説明をご参照ください。

callback

Function

コールバック関数。

session.addHandle('getConnectionTicketInfo', (data) => {
  console.log(data);
});

session.addHandle('onConnected', (data) => {
  console.log('connected', data);
});

session.addHandle('onDisConnected', (data) => {
  console.log('disconnect', data);
});

session.addHandle('onRuntimeMsg', (data) => {
  document.getElementById('GuestMsgContext').value = JSON.stringify(data);
});

session.start();

sendRuntimeMsg(msg: string, appId: string)

ゲストOSのアプリケーションにメッセージを送信します。

パラメーター

タイプ

説明

msg

String

メッセージ。

appId

String

メッセージの送信先のアプリケーション。

var msg = document.getElementById('sendMsgTypeData').value;
var appId = document.getElementById('sendMsgAppId').value;
session.sendRuntimeMsg(msg, appId);

enableInput(param: boolean)

マウスとキーボードからの入力を有効または無効にします。

パラメーター

タイプ

説明

param

bool

マウスとキーボードからの入力を有効にするかどうかを指定します。

enableKeyBoard(param: boolean)

キーボードを有効または無効にします。

パラメーター

タイプ

説明

param

bool

キーボードを有効にするかどうかを指定します。

setClipboardEnabled(param: boolean)

クリップボードを有効または無効にします。

パラメーター

タイプ

説明

param

bool

クリップボードを有効にするかどうかを指定します。

setMicrophoneEnabled(param: boolean)

マイクを有効または無効にします。

パラメーター

タイプ

説明

param

bool

マイクを有効にするかどうかを指定します。

setInputEnabled(param: boolean)

入力を有効または無効にします。

パラメーター

タイプ

説明

param

bool

入力を有効にするかどうかを指定します。

setTouchEnabled(param: boolean)

タッチイベントへの応答を有効または無効にします。

パラメーター

タイプ

説明

param

bool

タッチイベントへの応答を有効にするかどうかを指定します。

downloadFile()

クラウドコンピュータでファイルのダウンロードウィンドウを開きます。

uploadFile (ファイル: ファイル)

ファイルをアップロードします。

パラメーター

タイプ

説明

file

ファイル

アップロードするファイル。

enableDataIsland(enable: boolean)

実行時にデータアイランドを表示または非表示にします。

パラメーター

タイプ

説明

enable

Boolean

実行時にデータアイランドを表示するかどうかを指定します。

uploadFileToPds(file: File[])

エンタープライズドライブにファイルをアップロードします。

まずFileTransferConfigを設定し、session.uploadFileToPdsを呼び出してファイルをアップロードする必要があります。

onTransferCallbackを呼び出して、アップロードの進行状況とエラーレポートを受け取ることができます。

パラメーター

タイプ

説明

file

ファイル

アップロードするファイル。

downloadFileFromPds(filePath: 文字列)

エンタープライズドライブからファイルをダウンロードします。

まずFileTransferConfigを設定し、次にsession.downloadFileFromPdsを呼び出してファイルをダウンロードする必要があります。

パラメーター

タイプ

説明

filePath

String

エンタープライズドライブからダウンロードするファイルのパス。

getScreenshot(callback :( blob: Blob) => any, immediate: boolean)

現在のスクリーンショットを取得します。 メソッドでコールバックを指定して、スクリーンショットのblobオブジェクトを取得できます。 immediateをtrueに設定すると、スクリーンショットはローカルデバイスにダウンロードされます。

setResolution (width: number, height: number, degree: number)

クラウドコンピュータまたはアプリケーションの表示解像度を設定します。 角度は時計回りの方向です。

パラメーター

タイプ

説明

width

数値

幅。

height

数値

高さ。

degree

数値

degree。 有効な値: 0または90。

stopConnection()

クラウドコンピュータまたはアプリケーションから切断します。

getDesktopIdleTime (コールバック :( time: number) => any)

クラウドコンピューターのアイドル時間を照会します。 単位:ms。

setUiParams(param: UiConfig)

セッションの作成後に、メニューを表示するか、横向きモードを強制するかなどのUI設定を設定します。

パラメーター

タイプ

説明

param

UiConfig

UI設定。

var uiConfig = {
  toolbar: {
    visible: false,
  },
  rotateDegree: 90,
};
session.setUiParams(uiConfig);

3.3 パラメーターの説明

SessionParam

次の表に、セッションを作成するためのパラメーターを示します。

パラメーター

タイプ

必須

説明

openType

OpenType

必須

iframeまたは新しいタブでセッションを開くかどうかを指定します。

iframeId

String

選択可能

iframe ID。 このパラメーターは、iframeでセッションを開くように設定する場合に必要です。

sdkPath

String

選択可能

SDKファイルのパス。 このパラメーターを指定しない場合、などの相対パスがデフォルトで使用されます。/ASP/container.html。

resourceType

ResourceType

必須

リソースタイプです。 オンプレミスのリソースのみがサポートされています。

connectType

ConnectType

必須

クラウドコンピューターとクラウドアプリケーションのどちらに接続するかを指定します。

isOverseas

Boolean

選択可能

Web SDKを中国以外のwebページに統合するかどうかを指定します。 デフォルト値:false

userInfo

UserInfo

必須

ユーザーログインセッションに関する情報。

regionId

String

必須

クラウドコンピューターが配置されているリージョン。 このパラメーターは、クラウドコンピューターに接続するように設定する場合に必要です。

appInfo

AppInfo

選択可能

クラウドアプリケーションに関する情報。

desktopInfo

デスクトップ情報

選択可能

クラウドコンピューターに関する情報。

fileInfo

FileInfo

選択可能

ドライブに関する情報。

uiConfig

UiConfig

選択可能

UI設定。

fileTransferConfig

FileTransferConfig

選択可能

ファイル転送の設定。

logDisabled

bool

選択可能

Application Real-Time Monitoring Service (ARMS) モニタリングを無効にするかどうかを指定します。 デフォルト値:false

loginType

LoginType

選択可能

ログインアカウントの種類。 デフォルトでは、Alibaba Cloud Workspaceアカウントがログインに使用されます。

networkAccessType

'vpc'

選択可能

ネットワークアクセスタイプ。 このパラメーターはデフォルトでは何も指定されていません。 VPCネットワークアクセスがサポートされています。

UserInfo

次の表に、ログオンセッション関連のパラメーターを示します。 authCodeを優先的に使用することを推奨します。

パラメーター

タイプ

必須

説明

authCode

String

必須

1回だけ使用できるログオン資格情報で、優先度が最も高くなります。

ticket

String

必須

1.4.7以降のバージョンのWeb SDKで接続を確立するには、チケットを直接渡すことができます。

loginToken

String

必須

ユーザーログインセッションに関する情報 (非推奨) 。

sessionId

String

必須

ユーザーログインセッションに関する情報 (非推奨) 。

AppInfo

次の表に、接続されたクラウドアプリケーションに関するパラメーターを示します。

パラメーター

タイプ

必須

説明

appId

String

必須

接続されているクラウドアプリケーションのID。

appVersion

String

必須

接続されているクラウドアプリケーションのバージョン。

loginRegionId

String

必須

クラウドアプリケーションリソースが存在するリージョン。

connConfig

ConnConfig

選択可能

接続パラメータ。

appInstanceGroupId

String

選択可能

アプリケーション配信グループのID。

appInstanceId

String

選択可能

アプリケーションインスタンスのID。

taskId

String

選択可能

アプリケーション起動タスクのID。

bizRegionId

String

選択可能

クラウドアプリケーションリソースが存在するリージョン。

productType

String

選択可能

配信グループのタイプ。 デフォルト値: 'CloudApp' 。

デスクトップ情報

接続されたクラウドコンピューターに関するパラメーターを次の表に示します。

パラメーター

タイプ

必須

説明

desktopId

String

必須

接続されたクラウドコンピュータのID。

realDesktopId

String

選択可能

このパラメーターは、クラウドコンピュータープール内のクラウドコンピューターに接続する場合に必要です。

protocolType

ProtocolType

選択可能

接続されたクラウドコンピュータで使用されるプロトコルタイプ。

loginRegionId

String

必須

クラウドコンピューターリソースが存在するリージョン。

connConfig

ConnConfig

選択可能

接続パラメータ。

assistanceConfig

AssistanceConfig

選択可能

リモートアシスト設定。 このパラメーターを設定しない場合、リモート支援は有効になりません。

creationTime

String

選択可能

クラウドコンピューターが作成された時刻。 時間をUTCで指定します。

expiredTime

String

選択可能

クラウドコンピューターの有効期限。 時間をUTCで指定します。

chargeType

ChargeType

選択可能

クラウドコンピューターの課金方法。

FileInfo

次の表に、ドライブを開くためのパラメーターを示します。 注: externalDomainId、externalDriveId、およびexternalUserIdパラメーターを指定して、Alibaba Cloud Ph oto and drive Serviceが提供するホストドライブにファイルをアップロードできます。 この場合、driveIdパラメーターを指定する必要はありません。

パラメーター

タイプ

必須

説明

driveType

String

必須

ドライブタイプ。PDSのみにすることができます。

driveId

String

必須

ドライブID。

externalDomainId

String

必須

Ph oto and drive Serviceによって提供されるドライブが存在するドメインのID。

externalDriveId

String

必須

Ph oto and drive Serviceが提供するドライブのID。

externalUserId

String

必須

外部ユーザーID。

fileId

String

必須

ファイルID。

filePath

String

選択可能

ファイルパス。

fileName

String

選択可能

ファイル名。

fileRegion

String

選択可能

ファイルが配置されているリージョン。 例:cn-hangzhou。

FileTransferConfig

次の表に、ファイルのアップロードとダウンロードのパラメーターを示します。

パラメーター

タイプ

必須

説明

type

String

選択可能

ドライブタイプ。PDSのみにすることができます。

driveId

String

選択可能

ドライブID。

uploadPath

String

選択可能

ファイルがアップロードされるパス。

uploadType

string[]

選択可能

アップロードするファイルのタイプ。 詳細については、MIME TYPEの定義をご参照ください。

onTransferCallback

function

選択可能

データ転送ステータスのコールバック。 (type, data => any)

TransferData

次の表に、onTransferCallbackが受信した情報を示します。

パラメーター

説明

fileName

ファイル名。

fileSize

ファイルサイズ。

fileId

ファイルID。

progress

ファイルのアップロードの進行状況。

cancelFn

アップロードコールバックをキャンセルします。 アップロード中にコールバックをキャンセルすると、ファイルのアップロードがキャンセルされます。

Callback message code

type: 'result' data: {Code, Message?: string, RequestId?: string, fileName?: string, fileSize?: string, fileId?: string}

パラメーター

説明

ERROR_DRIVE_ID

ドライブIDが正しくありません。

ERROR_UPLOAD_PATH

アップロードパスが正しくありません。

ERROR_UPLOAD_TYPE

ファイルタイプが無効です。

ERROR_FILE_EXISTS

同じ名前のファイルが既に存在します。

ERROR_TOKEN

loginTokenが無効なため、アップロードに失敗しました。

ERROR_SERVER

サービスエラー。 開発担当者に連絡します。

ERROR_DOWNLOAD

ファイルのダウンロード中にエラーが発生しました。

SUCCESS_UPLOAD

アップロードされました。

UiConfig

次の表に、UI設定のパラメーターを示します。

パラメーター

タイプ

必須

説明

toolbar

ToolBarConfig

選択可能

接続ウィンドウのツールバーの設定。

exitCheck

bool

選択可能

現在のページを終了するときに確認ダイアログボックスを有効にするかどうかを指定します。 デフォルトでは、このオプションは有効です。

rotateDegree

数値

選択可能

ランドスケープモードを強制するかどうかを指定します。 有効な値: 0と90。 値90はイエスを示す。

vconsoleVisiable

bool

選択可能

VConsoleデバッグボックスを表示するかどうかを指定します。

debugPanelVisiable

bool

選択可能

フレームレートやビットレートなどの情報を含むボックスを表示するかどうかを指定します。

reconnectType

ReconnectType

選択可能

再接続のダイアログボックスのスタイル。

defaultResolution

ResolutionType

選択可能

最初の接続時のデフォルトの画面解像度。 デフォルト値: 'A' 。

language

言語

選択可能

内部ポップアッププロンプトに使用される言語。 デフォルトの言語は中国語です。

ToolBarConfig

次の表に、ツールバー設定のパラメーターを示します。

パラメーター

タイプ

必須

説明

visible

bool

選択可能

ツールバーを表示するかどうかを指定します。

noMenu

bool

選択可能

DesktopAssistantを使用して右クリックメニューを開くことを許可するかどうかを指定します。 デフォルト値:false この機能は、1.4.20以降のWeb SDKバージョンでサポートされています。

ConnConfig

次の表に、接続パラメーターを示します。

パラメーター

タイプ

必須

説明

decodeType

ConnDecodeType (数値列挙)

選択可能

エンコードタイプ。

playSoundBackground

bool

選択可能

背景を切り替えた後にサウンドを再生し続けるかどうかを指定します。

AssistanceConfig

次の表は、遠隔支援を開始するためのパラメータを示す。 遠隔支援要求が管理者によって開始される場合、接続は1回限りである。 チケットは繰り返し使用できるため、その後の再接続を防ぐために、リモートアシスタンス接続が終了したらチケットをクリアする必要があります。

パラメーター

タイプ

必須

説明

role

AssistanceRole

必須

遠隔支援を開始した役割。

aliUid

String

選択可能

エンドユーザーのID。 このパラメーターは、roleパラメーターがuserに設定されている場合に必要です。

ticket

String

選択可能

このパラメーターは、roleパラメーターがadminに設定されている場合に必要です。 値は、GetCoordinateTicket操作を呼び出して取得できます。

taskId

String

選択可能

このパラメーターは、roleパラメーターがadminに設定されている場合に必要です。 値は、GetCoordinateTicket操作を呼び出して取得できます。

coId

String

選択可能

このパラメーターは、roleパラメーターがadminに設定されている場合に必要です。 値は、GetCoordinateTicket操作を呼び出して取得できます。

remoteAssistance

String

選択可能

このパラメーターは、roleパラメーターがadminに設定されている場合に必要です。 デフォルト値 : on。

accessKeyId

String

選択可能

キーボードとマウスを制御するために使用されます。 このパラメーターは、roleパラメーターがadminに設定されている場合に必要です。

accessKeySecret

String

選択可能

キーボードとマウスを制御するために使用されます。 このパラメーターは、roleパラメーターがadminに設定されている場合に必要です。

列挙型のパラメーター

OpenType

次の表に、接続されたクラウドコンピューターまたはアプリケーションを開くオプションを示します。

オプション

説明

newTab

接続されたクラウドコンピュータまたはアプリケーションを新しいタブで開きます。

inline

接続されたクラウドコンピューターまたはアプリケーションをiframeページで開きます。

urlScheme

接続されたクラウドコンピューターまたはアプリケーションをローカルネイティブクライアントで開きます。 このオプションでは、6.2インストールされているバージョンよりも後のバージョンのAlibaba Cloud Workspaceクライアントが必要です。

ConnectType

次の表は、クラウドコンピューターとクラウドアプリケーションのどちらに接続するかを示しています。

オプション

説明

app

クラウドアプリケーションに接続します。

desktop

クラウドコンピューターに接続します。

ResourceType

次の表に、アクセスするリソースタイプを列挙します。

オプション

説明

local

ローカルPCから読み込まれたHTMLページ。

ReconnectType

次の表に、プロンプトのポップアップウィンドウを設定するためのオプションを示します。

オプション

説明

simple

単純な読み込みを使用します。

normal

カウントダウンポップアップウィンドウを使用します。

ResolutionType

次の表に、接続の初期化時にデフォルトの解決策を設定するオプションを示します。 履歴解決設定は、接続中に優先的に使用される。

オプション

説明

A

現在のウィンドウサイズを使用して、読み込み速度を確保します。

B

現在のウィンドウサイズにwindow.de vicePixelRatioを掛けた解像度を使用して、表示品質を確保します。

ChargeType

次の表に、クラウドコンピューターの課金方法を示します。

オプション

説明

から利用可能

PostPaid

従量課金の課金方法。

1.4.0

PrePaid

サブスクリプションの課金方法。

1.4.0

Language

次の表に、言語オプションを列挙します。 デフォルト値: zh-CN

オプション

説明

zh-CN

Chinese.

en-US

英語だ

ja-JP

日本人だ

LoginType

次の表に、クラウドコンピューターにログオンする方法を示します。

オプション

説明

aliyunLogin

Alibaba Cloudアカウントでログインします。

normalLogin

Alibaba Cloud Workspaceアカウントでログインします。

イベント

SessionEventType

セッション関連のイベントを次の表に示します。

イベント

説明

から利用可能

getConnectionTicketInfo

クラウドコンピュータまたはアプリケーションへの接続を試みます。

1.0.0

onConnected (onConnected)

クラウドコンピュータまたはアプリケーションへの接続に成功。

1.0.0

onDisConnected

クラウドコンピュータまたはアプリケーションからの切断。

1.0.0

onRuntimeMsg

ランタイムでのSDKへのメッセージ送信。

1.1.0

networkData

ネットワークパフォーマンスパラメータの設定。

1.3.1

onError

接続中のエラー処理。

1.4.1

ゲストOSへのメッセージタイプ

GuestMsgType

ゲストOSに送信するメッセージの種類を次の表に示します。

名前

説明

から利用可能

RUNTIME_API_MESSAGE

ゲストOSに送信されたメッセージ。

1.1.0

ストリーム復号タイプ

ConnDecodeType

名前

説明

から利用可能

0

ソフトウェアの解読。

1.2.0

1

ハードウェア解読。

1.2.0

2

WebRTC。

1.2.0

クラウドコンピュータ関連

ProtocolType

名前

説明

から利用可能

ASP

適応ストリーミングプロトコル (ASP) 。

1.3.0

HDX

シトリックスHDX。

1.3.0

リモート支援関連

AssistanceRole

名前

説明

から利用可能

user

ユーザー。

1.3.0

admin

管理者。

1.3.0

shared_user

コラボレーションのためにデスクトップを共有するユーザー。

1.3.1

assistant

コラボレーションに参加するユーザー。

1.4.0

3.4 エラーコード

次の表に、切断イベントの場合に報告されるエラーメッセージを示します。

エラーメッセージ

説明

コード

ASP_CLIENT_DISCONNECT_CONNECT_ERROR

切断されました。

0

ASP_CLIENT_DISCONNECT_SOCKET_CLOSE

ソケット接続が閉じました。

1

ASP_CLIENT_DISCONNECT_WEBRTC_CLOSE

WebRTC接続が閉じられました。

2

ASP_CLIENT_DISCONNECT_CLOUD_APP_STOP

クラウドアプリケーションが停止しました。

2001

ASP_CLIENT_DISCONNECT_CLIENT_PREEMPTION

リソースがプリエンプトされました。

2002

ASP_CLIENT_DISCONNECT_GUEST_SHUTDOWN_REBOOT

ゲストOSが再起動されました。

2003

ASP_CLIENT_RTT_TIMEOUT

RTTタイムアウト。

2200

ASP_CLIENT_NET_ERROR_IO

ネットワークI/Oエラー。

2201

ASP_CLIENT_UPDATE_TICKET_FAILED

チケットの更新に失敗しました。

2202

接続中にonErrorが受信したエラーメッセージ

メッセージの形式は {code: string, message: string, api: string} です。メッセージにはrequestIdが含まれ、apiはエラーをトリガーするリクエストです。 次の表に、エラーコードを示します。

エラーコード

InvalidClientType.AccessDenied

DesktopCpuHighLoad

NotFindDesktopId

UnavailableDesktop.NotRegistered

NotFoundUserDesktop

価格. WAN_HUA_TONG_SYS

UnavailableDesktop

AUTHORIZE_FAILED

UnavailableDesktop.Initializing

NotFindTaskId

GENERAL_ERROR

InvalidVersion

UnavailableDesktop.Unregistered

Forbidden

InvalidDesktopId.NotFound

PRICE.RATING_ACCOUNT_SYS

AgentUnbinding

USING_DESKTOP

NoMoreActiveSessions

GET_TICKET_LOCK

DistributeLockFailed

MissingLoginToken

DesktopsUnderMaintenance

NoEnoughDesktops

InvalidTimeStamp.Expired

GeneralAppLaunchError

InvalidClientIp.Policy

MissingClientId

ACCOUNT.ALIYUN_ACCOUNT_NOT_EXIST

DesktopNotReady

InvalidAccessKeyId.NotFound

CouldNotConnectToWorkstation

AssignUserFailed

InvalidTimeStamp.Format

INVALID_CSRF_TOKEN

INTERNAL_ERROR

DesktopUnavailable

UnavailableDesktop.ConnectionBroken

AuthorizeFailed.OfficeSIteId

SignatureDoesNotMatch

USER_NOT_EXIST

MissingAccessKeyId

ServiceUnavailable

NOT_LOGIN

UnavailableDesktop.ServerNotReady

InvalidDesktopId.Status

PermissionDeny.Desktop

InvalidOperation.NotSupportedEndpoint

InvalidAccessKeyId