想定される効果
会議室グループの表示効果は以下のとおりです。フロー概要
前提条件:アプリの作成と設定 のフローを完了してください。 ステップ 1:アプリ認証情報を取得し、クライアント ID と Client Secret を取得します。 ステップ 2:API 権限をリクエストし、スマート会議室関連の API 権限を申請します。 ステップ 3:アプリのアクセス認証情報を取得します。社内アプリのアクセストークンを取得する。API を呼び出す際、アクセストークンによって呼び出し元の身元を認証します。 ステップ 4:会議室関連 API を呼び出します。- サーバー API 会議室グループの作成 を呼び出し、会議室グループの戻り値
resultフィールド、すなわち会議室グループ ID を取得します。 - 会議室グループ ID に基づき、サーバー API 会議室グループ情報の更新 を呼び出して、会議室グループ情報の更新操作を実行します。
- サーバー API 会議室グループリストの照会 を呼び出して、会議室グループリストのコンテンツを取得します。
- 会議室グループ ID に基づき、サーバー API 会議室グループ情報の照会 を呼び出して、個別の会議室グループの詳細コンテンツ情報を取得します。
- 会議室グループ ID に基づき、サーバー API 会議室グループの削除 を呼び出して、会議室グループの削除操作を実行します。
前提条件
アプリの作成と設定 のフローを完了してください。ステップ 1:アプリ認証情報の取得
- 対象のアプリを選択し、アプリ詳細ページに入り、ベーシック情報 > 認証情報とベーシック情報 をクリックします。
- クライアント ID と Client Secret を取得します。
ステップ 2:API 権限の追加
開発設定 > 権限管理 をクリックし、権限検索ボックスにVideoConference.Conference.Write と VideoConference.Conference.Read をそれぞれ入力して、権限を申請します。
ステップ 3:アプリのアクセス認証情報(アクセストークン)の取得
サーバー API の差異については、旧版 API VS 新版 API を参照してください。以下の API はすべてサーバー API を使用しており、SDK のダウンロードについてはサーバーサイド SDK ダウンロードを参照してください。
public void getAccessToken() throws Exception {
Config config = new Config();
config.protocol = "https";
config.regionId = "central";
com.aliyun.dingtalkoauth2_1_0.Client client = new com.aliyun.dingtalkoauth2_1_0.Client(config);
GetAccessTokenRequest accessTokenRequest = new GetAccessTokenRequest()
.setAppKey("din*********hgn")
.setAppSecret("9G_O************mBkhgGIO");
GetAccessTokenResponse accessToken = client.getAccessToken(accessTokenRequest);
System.out.println(JSON.toJSONString(accessToken.getBody()));
}
ステップ 4:会議室グループ関連 API の呼び出し
-
サーバー API 会議室グループの作成 を呼び出し、会議室グループの戻り値
resultフィールド、すなわち会議室グループ ID を取得します。public void createRoomsGroups() throws Exception { com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config(); config.protocol = "https"; config.regionId = "central"; com.aliyun.dingtalkrooms_1_0.Client client = new com.aliyun.dingtalkrooms_1_0.Client(config); com.aliyun.dingtalkrooms_1_0.models.CreateMeetingRoomGroupHeaders createMeetingRoomGroupHeaders = new com.aliyun.dingtalkrooms_1_0.models.CreateMeetingRoomGroupHeaders(); createMeetingRoomGroupHeaders.xAcsDingtalkAccessToken = "accessToken"; com.aliyun.dingtalkrooms_1_0.models.CreateMeetingRoomGroupRequest createMeetingRoomGroupRequest = new com.aliyun.dingtalkrooms_1_0.models.CreateMeetingRoomGroupRequest() .setUnionId("E9CS6X*******eN7QiEiE") .setGroupName("第一グループ") .setParentGroupId(0L); try { CreateMeetingRoomGroupResponse meetingRoomGroupWithOptions = client.createMeetingRoomGroupWithOptions(createMeetingRoomGroupRequest, createMeetingRoomGroupHeaders, new RuntimeOptions()); System.out.println(JSON.toJSONString(meetingRoomGroupWithOptions.getBody())); } catch (TeaException err) { if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // err には code と message 属性が含まれ、問題の特定に役立ちます System.out.println(err.code); System.out.println(err.message); } } catch (Exception _err) { TeaException err = new TeaException(_err.getMessage(), _err); if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // err には code と message 属性が含まれ、問題の特定に役立ちます System.out.println(err.code); System.out.println(err.message); } } } -
会議室グループ ID に基づき、サーバー API 会議室グループ情報の更新 を呼び出して、会議室グループ情報の更新操作を実行します。
public void updateRoomsGroups() throws Exception { com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config(); config.protocol = "https"; config.regionId = "central"; com.aliyun.dingtalkrooms_1_0.Client client = new com.aliyun.dingtalkrooms_1_0.Client(config); com.aliyun.dingtalkrooms_1_0.models.UpdateMeetingRoomGroupHeaders updateMeetingRoomGroupHeaders = new com.aliyun.dingtalkrooms_1_0.models.UpdateMeetingRoomGroupHeaders(); updateMeetingRoomGroupHeaders.xAcsDingtalkAccessToken = "accessToken"; com.aliyun.dingtalkrooms_1_0.models.UpdateMeetingRoomGroupRequest updateMeetingRoomGroupRequest = new com.aliyun.dingtalkrooms_1_0.models.UpdateMeetingRoomGroupRequest() .setUnionId("E9CS6X*******eN7QiEiE") .setGroupName("私の第一グループ") .setGroupId(39L); try { UpdateMeetingRoomGroupResponse updateMeetingRoomGroupResponse = client.updateMeetingRoomGroupWithOptions(updateMeetingRoomGroupRequest, updateMeetingRoomGroupHeaders, new RuntimeOptions()); System.out.println(JSON.toJSONString(updateMeetingRoomGroupResponse.getBody())); } catch (TeaException err) { if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // err には code と message 属性が含まれ、問題の特定に役立ちます System.out.println(err.code); System.out.println(err.message); } } catch (Exception _err) { TeaException err = new TeaException(_err.getMessage(), _err); if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // err には code と message 属性が含まれ、問題の特定に役立ちます System.out.println(err.code); System.out.println(err.message); } } } -
サーバー API 会議室グループリストの照会 を呼び出して、会議室グループリストのコンテンツを取得します。
public void RoomsGroupsList() throws Exception { com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config(); config.protocol = "https"; config.regionId = "central"; com.aliyun.dingtalkrooms_1_0.Client client = new com.aliyun.dingtalkrooms_1_0.Client(config); com.aliyun.dingtalkrooms_1_0.models.QueryMeetingRoomGroupListHeaders queryMeetingRoomGroupListHeaders = new com.aliyun.dingtalkrooms_1_0.models.QueryMeetingRoomGroupListHeaders(); queryMeetingRoomGroupListHeaders.xAcsDingtalkAccessToken = "accessToken"; com.aliyun.dingtalkrooms_1_0.models.QueryMeetingRoomGroupListRequest queryMeetingRoomGroupListRequest = new com.aliyun.dingtalkrooms_1_0.models.QueryMeetingRoomGroupListRequest() .setUnionId("E9CS6X*******eN7QiEiE"); try { QueryMeetingRoomGroupListResponse queryMeetingRoomGroupListResponse = client.queryMeetingRoomGroupListWithOptions(queryMeetingRoomGroupListRequest, queryMeetingRoomGroupListHeaders, new RuntimeOptions()); System.out.println(JSON.toJSONString(queryMeetingRoomGroupListResponse.getBody())); } catch (TeaException err) { if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // err には code と message 属性が含まれ、問題の特定に役立ちます System.out.println(err.code); System.out.println(err.message); } } catch (Exception _err) { TeaException err = new TeaException(_err.getMessage(), _err); if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // err には code と message 属性が含まれ、問題の特定に役立ちます System.out.println(err.code); System.out.println(err.message); } } } -
会議室グループ ID に基づき、サーバー API 会議室グループ情報の照会 を呼び出して、個別の会議室グループの詳細コンテンツ情報を取得します。
public void RoomsGroupsInfo() throws Exception { com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config(); config.protocol = "https"; config.regionId = "central"; com.aliyun.dingtalkrooms_1_0.Client client = new com.aliyun.dingtalkrooms_1_0.Client(config); com.aliyun.dingtalkrooms_1_0.models.QueryMeetingRoomGroupHeaders queryMeetingRoomGroupHeaders = new com.aliyun.dingtalkrooms_1_0.models.QueryMeetingRoomGroupHeaders(); queryMeetingRoomGroupHeaders.xAcsDingtalkAccessToken = "accessToken"; com.aliyun.dingtalkrooms_1_0.models.QueryMeetingRoomGroupRequest queryMeetingRoomGroupRequest = new com.aliyun.dingtalkrooms_1_0.models.QueryMeetingRoomGroupRequest() .setUnionId("E9CS6X*******eN7QiEiE"); try { QueryMeetingRoomGroupResponse queryMeetingRoomGroupResponse = client.queryMeetingRoomGroupWithOptions("39", queryMeetingRoomGroupRequest, queryMeetingRoomGroupHeaders, new RuntimeOptions()); System.out.println(JSON.toJSONString(queryMeetingRoomGroupResponse.getBody())); } catch (TeaException err) { if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // err には code と message 属性が含まれ、問題の特定に役立ちます System.out.println(err.code); System.out.println(err.message); } } catch (Exception _err) { TeaException err = new TeaException(_err.getMessage(), _err); if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // err には code と message 属性が含まれ、問題の特定に役立ちます System.out.println(err.code); System.out.println(err.message); } } } - 会議室グループ ID に基づき、サーバー API 会議室グループの削除 を呼び出して、会議室グループの削除操作を実行します。
説明
会議室グループ配下に会議室が存在する場合、当該会議室グループは削除できません。 public void deleteRoomsGroups() throws Exception {
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
config.protocol = "https";
config.regionId = "central";
com.aliyun.dingtalkrooms_1_0.Client client = new com.aliyun.dingtalkrooms_1_0.Client(config);
com.aliyun.dingtalkrooms_1_0.models.DeleteMeetingRoomGroupHeaders deleteMeetingRoomGroupHeaders = new com.aliyun.dingtalkrooms_1_0.models.DeleteMeetingRoomGroupHeaders();
deleteMeetingRoomGroupHeaders.xAcsDingtalkAccessToken = "accessToken";
com.aliyun.dingtalkrooms_1_0.models.DeleteMeetingRoomGroupRequest deleteMeetingRoomGroupRequest = new com.aliyun.dingtalkrooms_1_0.models.DeleteMeetingRoomGroupRequest()
.setUnionId("E9CS6X*******eN7QiEiE");
try {
DeleteMeetingRoomGroupResponse deleteMeetingRoomGroupResponse = client.deleteMeetingRoomGroupWithOptions("40", deleteMeetingRoomGroupRequest, deleteMeetingRoomGroupHeaders, new RuntimeOptions());
System.out.println(JSON.toJSONString(deleteMeetingRoomGroupResponse.getBody()));
} catch (TeaException err) {
if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) {
// err には code と message 属性が含まれ、問題の特定に役立ちます
System.out.println(err.code);
System.out.println(err.message);
}
} catch (Exception _err) {
TeaException err = new TeaException(_err.getMessage(), _err);
if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) {
// err には code と message 属性が含まれ、問題の特定に役立ちます
System.out.println(err.code);
System.out.println(err.message);
}
}
}