前置条件
开通服务
申请开通云办公服务的具体操作请参考开通云办公服务API
获取AK/SK
开发者在使用前需先获取账号的ak、sk、projectId、endpoint。
您需要拥有华为云账号以及该账号对应的 Access Key(AK)和 Secret Access Key(SK)。请在华为云控制台“我的凭证-访问密钥”页面上创建和查看您的 AK/SK。更多信息请查看访问密钥。
endpoint 华为云各服务应用区域和各服务的终端节点,详情请查看地区和终端节点。
projectId 云服务所在项目 ID ,根据你想操作的项目所属区域选择对应的项目 ID 。
运行环境
Java JDK 1.8 及其以上版本,推荐通过Maven 安装依赖的方式使用JAVA版本SDK。
SDK获取和安装
在Maven 项目的 pom.xml 文件加入相应版本的依赖项即可。
以引入3.1.5版本的内容审核SDK为例:
Copied!
<dependency>
<groupId>com.huaweicloud.sdk</groupId>
<artifactId>huaweicloud-sdk-workspace</artifactId>
<version>3.1.5</version>
</dependency>
示例代码
调用前请替换示例中的变量,请根据需要执行的方法注释掉无关方法,并执行Run Application。
Copied!
package com.huawei.workspace.demo;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.core.http.HttpConfig;
import com.huaweicloud.sdk.workspace.v2.WorkspaceClient;
import com.huaweicloud.sdk.workspace.v2.model.CreateDesktopUserRequest;
import com.huaweicloud.sdk.workspace.v2.model.CreateDesktopUserResponse;
import com.huaweicloud.sdk.workspace.v2.model.CreateUserReq;
import com.huaweicloud.sdk.workspace.v2.model.DeleteUserRequest;
import com.huaweicloud.sdk.workspace.v2.model.DeleteUserResponse;
import com.huaweicloud.sdk.workspace.v2.model.EditUserReq;
import com.huaweicloud.sdk.workspace.v2.model.ListUsersRequest;
import com.huaweicloud.sdk.workspace.v2.model.ListUsersResponse;
import com.huaweicloud.sdk.workspace.v2.model.UpdateUserInfoRequest;
import com.huaweicloud.sdk.workspace.v2.model.UpdateUserInfoResponse;
import com.huaweicloud.sdk.workspace.v2.region.WorkspaceRegion;
public class WorkspaceUsersManageDemo {
public static void main(String[] args) {
String ak = System.getenv("HUAWEICLOUD_SDK_AK");
String sk = System.getenv("HUAWEICLOUD_SDK_SK");
String projectId = "<YOUR PROJECTID>";
ICredential auth = new BasicCredentials().withAk(ak).withSk(sk).withProjectId(projectId);
HttpConfig config = HttpConfig.getDefaultHttpConfig();
config.withIgnoreSSLVerification(true);
WorkspaceClient client = WorkspaceClient.newBuilder()
.withCredential(auth)
.withRegion(WorkspaceRegion.valueOf("cn-north-4"))
.withHttpConfig(config)
.build();
listUsers(client);
}
private static void listUsers(WorkspaceClient workspaceClient) {
ListUsersRequest request = new ListUsersRequest();
try {
ListUsersResponse listUsersResponse = workspaceClient.listUsers(request);
System.out.println(listUsersResponse.toString());
} catch (ConnectionException | RequestTimeoutException e) {
System.out.println(e.getMessage());
} catch (ServiceResponseException e) {
System.out.println(e.getHttpStatusCode());
System.out.println(e.getErrorCode());
System.out.println(e.getErrorMsg());
}
}
private static void createDesktopUser(WorkspaceClient workspaceClient) {
String userName = "<your userName string>";
String userEmail = "<your userEmail string>";
try {
CreateUserReq createUserReq = new CreateUserReq();
createUserReq.setUserName(userName);
createUserReq.setUserEmail(userEmail);
CreateDesktopUserResponse createDesktopUserResponse =
workspaceClient.createDesktopUser(new CreateDesktopUserRequest().withBody(createUserReq));
System.out.println(createDesktopUserResponse.toString());
} catch (ConnectionException | RequestTimeoutException e) {
System.out.println(e.getMessage());
} catch (ServiceResponseException e) {
System.out.println(e.getHttpStatusCode());
System.out.println(e.getErrorCode());
System.out.println(e.getErrorMsg());
}
}
private static void updateUserInfo(WorkspaceClient workspaceClient) {
String userId = "{your userId string}";
try {
EditUserReq editUserReq = new EditUserReq();
editUserReq.withDescription("description");
UpdateUserInfoResponse updateUserInfoResponse =
workspaceClient.updateUserInfo(new UpdateUserInfoRequest().withBody(editUserReq).withUserId(userId));
System.out.println(updateUserInfoResponse.toString());
} catch (ConnectionException | RequestTimeoutException e) {
System.out.println(e.getMessage());
} catch (ServiceResponseException e) {
System.out.println(e.getHttpStatusCode());
System.out.println(e.getErrorCode());
System.out.println(e.getErrorMsg());
}
}
private static void deleteUser(WorkspaceClient workspaceClient) {
String userId = "{your userId string}";
try {
DeleteUserResponse deleteUserResponse =
workspaceClient.deleteUser(new DeleteUserRequest().withUserId(userId));
System.out.println(deleteUserResponse.toString());
} catch (ConnectionException | RequestTimeoutException e) {
System.out.println(e.getMessage());
} catch (ServiceResponseException e) {
System.out.println(e.getHttpStatusCode());
System.out.println(e.getErrorCode());
System.out.println(e.getErrorMsg());
}
}
}
版本说明
本示例基于华为云SDK V3.0版本开发
功能介绍
基于华为云 Java SDK对云办公用户进行操作的代码示例。 其中包括:对云办公用户进行操作的增(创建用户)、删(删除指定用户)、改(修改用户信息)、查(查询用户列表)。 本示例将以上操作整合,完成了从云办公用户的创建到查询、修改,再到删除的整个生命周期的覆盖。
前置条件
开通服务
申请开通云办公服务的具体操作请参考开通云办公服务API
获取AK/SK
开发者在使用前需先获取账号的ak、sk、projectId、endpoint。
您需要拥有华为云账号以及该账号对应的 Access Key(AK)和 Secret Access Key(SK)。请在华为云控制台“我的凭证-访问密钥”页面上创建和查看您的 AK/SK。更多信息请查看访问密钥。 endpoint 华为云各服务应用区域和各服务的终端节点,详情请查看地区和终端节点。 projectId 云服务所在项目 ID ,根据你想操作的项目所属区域选择对应的项目 ID 。
运行环境
Java JDK 1.8 及其以上版本,推荐通过Maven 安装依赖的方式使用JAVA版本SDK。
SDK获取和安装
在Maven 项目的 pom.xml 文件加入相应版本的依赖项即可。
以引入3.1.5版本的内容审核SDK为例:
<dependency> <groupId>com.huaweicloud.sdk</groupId> <artifactId>huaweicloud-sdk-workspace</artifactId> <version>3.1.5</version> </dependency>
示例代码
调用前请替换示例中的变量,请根据需要执行的方法注释掉无关方法,并执行Run Application。
package com.huawei.workspace.demo; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.core.http.HttpConfig; import com.huaweicloud.sdk.workspace.v2.WorkspaceClient; import com.huaweicloud.sdk.workspace.v2.model.CreateDesktopUserRequest; import com.huaweicloud.sdk.workspace.v2.model.CreateDesktopUserResponse; import com.huaweicloud.sdk.workspace.v2.model.CreateUserReq; import com.huaweicloud.sdk.workspace.v2.model.DeleteUserRequest; import com.huaweicloud.sdk.workspace.v2.model.DeleteUserResponse; import com.huaweicloud.sdk.workspace.v2.model.EditUserReq; import com.huaweicloud.sdk.workspace.v2.model.ListUsersRequest; import com.huaweicloud.sdk.workspace.v2.model.ListUsersResponse; import com.huaweicloud.sdk.workspace.v2.model.UpdateUserInfoRequest; import com.huaweicloud.sdk.workspace.v2.model.UpdateUserInfoResponse; import com.huaweicloud.sdk.workspace.v2.region.WorkspaceRegion; public class WorkspaceUsersManageDemo { public static void main(String[] args) { // 设置AK和SK // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份认证为例,运行示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 String ak = System.getenv("HUAWEICLOUD_SDK_AK"); String sk = System.getenv("HUAWEICLOUD_SDK_SK"); String projectId = "<YOUR PROJECTID>"; ICredential auth = new BasicCredentials().withAk(ak).withSk(sk).withProjectId(projectId); HttpConfig config = HttpConfig.getDefaultHttpConfig(); config.withIgnoreSSLVerification(true); WorkspaceClient client = WorkspaceClient.newBuilder() .withCredential(auth) .withRegion(WorkspaceRegion.valueOf("cn-north-4")) // 示例中区域为北京四,根据实际调用区域替换 .withHttpConfig(config) .build(); // 查询用户列表 listUsers(client); // 创建用户 // createDesktopUser(client); // 修改用户信息 // updateUserInfo(client); // 删除指定用户 // deleteUser(client); } private static void listUsers(WorkspaceClient workspaceClient) { ListUsersRequest request = new ListUsersRequest(); try { ListUsersResponse listUsersResponse = workspaceClient.listUsers(request); System.out.println(listUsersResponse.toString()); } catch (ConnectionException | RequestTimeoutException e) { System.out.println(e.getMessage()); } catch (ServiceResponseException e) { System.out.println(e.getHttpStatusCode()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } private static void createDesktopUser(WorkspaceClient workspaceClient) { String userName = "<your userName string>"; String userEmail = "<your userEmail string>"; try { CreateUserReq createUserReq = new CreateUserReq(); createUserReq.setUserName(userName); createUserReq.setUserEmail(userEmail); CreateDesktopUserResponse createDesktopUserResponse = workspaceClient.createDesktopUser(new CreateDesktopUserRequest().withBody(createUserReq)); System.out.println(createDesktopUserResponse.toString()); } catch (ConnectionException | RequestTimeoutException e) { System.out.println(e.getMessage()); } catch (ServiceResponseException e) { System.out.println(e.getHttpStatusCode()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } private static void updateUserInfo(WorkspaceClient workspaceClient) { String userId = "{your userId string}"; try { EditUserReq editUserReq = new EditUserReq(); editUserReq.withDescription("description"); UpdateUserInfoResponse updateUserInfoResponse = workspaceClient.updateUserInfo(new UpdateUserInfoRequest().withBody(editUserReq).withUserId(userId)); System.out.println(updateUserInfoResponse.toString()); } catch (ConnectionException | RequestTimeoutException e) { System.out.println(e.getMessage()); } catch (ServiceResponseException e) { System.out.println(e.getHttpStatusCode()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } private static void deleteUser(WorkspaceClient workspaceClient) { String userId = "{your userId string}"; try { DeleteUserResponse deleteUserResponse = workspaceClient.deleteUser(new DeleteUserRequest().withUserId(userId)); System.out.println(deleteUserResponse.toString()); } catch (ConnectionException | RequestTimeoutException e) { System.out.println(e.getMessage()); } catch (ServiceResponseException e) { System.out.println(e.getHttpStatusCode()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } }
参考
更多信息请参考: 查询用户列表API 创建用户API 删除指定用户API 修改用户信息API
修订记录