フロー概要
前提条件:アプリの作成と設定のフローを完了します。 ステップ 1:アプリ認証情報を取得し、クライアント ID と Client Secret を取得します。 ステップ 2:API 権限をリクエストし、会議関連 API の権限をリクエストします。 ステップ 3:アプリのアクセス認証情報を取得します。社内アプリのアクセストークンを取得するを参照し、API を呼び出す際は、アクセストークンによって呼び出し元の身元を認証します。 ステップ 4:サーバーサイドの会議関連 API を呼び出します。- サーバー API ビデオ会議の作成 を呼び出してビデオ会議を作成し、ビデオ会議の conferenceId を取得します。
- ビデオ会議の conferenceId に基づき、サーバー API ビデオ会議情報の一括検索 を呼び出して、ビデオ会議情報とメンバーリストを取得します。
- ビデオ会議の conferenceId に基づき、サーバー API ビデオ会議のクラウド録画を開始 を呼び出して、ビデオ会議のクラウド録画を開始します。
- ビデオ会議の conferenceId に基づき、サーバー API ビデオ会議のクラウド録画を開始 を呼び出して、ビデオ会議のクラウド録画を停止します。
- ビデオ会議の conferenceId に基づき、サーバー API ビデオ会議の終了 を呼び出して、ビデオ会議を終了します。
-
会議録画情報を検索します。
- ビデオ会議の conferenceId に基づき、サーバー API 会議録画の詳細情報を検索 を呼び出して、会議録画の録画者、録画開始時刻、録画継続時間などの情報を検索します。
- ビデオ会議の conferenceId に基づき、サーバー API 会議録画の動画情報を検索 を呼び出して、動画のダウンロード URL、動画ファイルサイズ、動画の長さなどの情報を検索します。
- ビデオ会議の conferenceId に基づき、サーバー 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 ビデオ会議の作成 を呼び出してビデオ会議を作成し、ビデオ会議の conferenceId を取得します。
public void videoConferencesCreate() throws Exception { Config config = new Config(); config.protocol = "https"; config.regionId = "central"; com.aliyun.dingtalkconference_1_0.Client client = new com.aliyun.dingtalkconference_1_0.Client(config); CreateVideoConferenceHeaders createVideoConferenceHeaders = new CreateVideoConferenceHeaders(); createVideoConferenceHeaders.xAcsDingtalkAccessToken = "accessToken"; CreateVideoConferenceRequest createVideoConferenceRequest = new CreateVideoConferenceRequest() .setUserId("E9CS6X*******QiEiE") .setConfTitle("202211071001ビデオ会議") .setInviteCaller(true) .setInviteUserIds(java.util.Arrays.asList( "tXguN3*******URAiEiE" )); try { CreateVideoConferenceResponse videoConferenceWithOptions = client.createVideoConferenceWithOptions(createVideoConferenceRequest, createVideoConferenceHeaders, new RuntimeOptions()); System.out.println(JSON.toJSONString(videoConferenceWithOptions.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); } } } - ビデオ会議の conferenceId に基づき、サーバー API ビデオ会議情報の一括検索 を呼び出して、ビデオ会議情報とメンバーリストを取得します。
説明
現在は進行中のビデオ会議のみ検索可能です。public void videoConferencesInfo() throws Exception {
Config config = new Config();
config.protocol = "https";
config.regionId = "central";
com.aliyun.dingtalkconference_1_0.Client client = new com.aliyun.dingtalkconference_1_0.Client(config);
QueryConferenceInfoBatchHeaders queryConferenceInfoBatchHeaders = new QueryConferenceInfoBatchHeaders();
queryConferenceInfoBatchHeaders.xAcsDingtalkAccessToken = "accessToken";
QueryConferenceInfoBatchRequest queryConferenceInfoBatchRequest = new QueryConferenceInfoBatchRequest()
.setConferenceIdList(java.util.Arrays.asList(
"636866074147ec014a76e720"
));
try {
QueryConferenceInfoBatchResponse queryConferenceInfoBatchResponse = client.queryConferenceInfoBatchWithOptions(queryConferenceInfoBatchRequest, queryConferenceInfoBatchHeaders, new RuntimeOptions());
System.out.println(JSON.toJSONString(queryConferenceInfoBatchResponse.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.message);
System.out.println(err.code);
}
} 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.message);
System.out.println(err.code);
}
}
}
-
ビデオ会議の conferenceId に基づき、サーバー API ビデオ会議のクラウド録画を開始 を呼び出して、ビデオ会議のクラウド録画を開始します。
public void cloudRecordsStart() throws Exception { Config config = new Config(); config.protocol = "https"; config.regionId = "central"; com.aliyun.dingtalkconference_1_0.Client client = new com.aliyun.dingtalkconference_1_0.Client(config); StartCloudRecordHeaders startCloudRecordHeaders = new StartCloudRecordHeaders(); startCloudRecordHeaders.xAcsDingtalkAccessToken = "accessToken"; StartCloudRecordRequest startCloudRecordRequest = new StartCloudRecordRequest() .setUnionId("E9CS6X*******QiEiE") .setSmallWindowPosition("relative_right") .setMode("speech"); try { StartCloudRecordResponse startCloudRecordResponse = client.startCloudRecordWithOptions("636866074147ec014a76e720", startCloudRecordRequest, startCloudRecordHeaders, new RuntimeOptions()); System.out.println(JSON.toJSONString(startCloudRecordResponse.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.message); System.out.println(err.code); } } 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.message); System.out.println(err.code); } } } -
ビデオ会議の conferenceId に基づき、サーバー API ビデオ会議のクラウド録画を停止 を呼び出して、ビデオ会議のクラウド録画を停止します。
public void cloudRecordsStop() throws Exception { Config config = new Config(); config.protocol = "https"; config.regionId = "central"; com.aliyun.dingtalkconference_1_0.Client client = new com.aliyun.dingtalkconference_1_0.Client(config); StopCloudRecordHeaders stopCloudRecordHeaders = new StopCloudRecordHeaders(); stopCloudRecordHeaders.xAcsDingtalkAccessToken = "accessToken"; StopCloudRecordRequest stopCloudRecordRequest = new StopCloudRecordRequest() .setUnionId("E9CS6X*******QiEiE"); try { StopCloudRecordResponse stopCloudRecordResponse = client.stopCloudRecordWithOptions("636866074147ec014a76e720", stopCloudRecordRequest, stopCloudRecordHeaders, new RuntimeOptions()); System.out.println(JSON.toJSONString(stopCloudRecordResponse.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.message); System.out.println(err.code); } } 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.message); System.out.println(err.code); } } } -
ビデオ会議の conferenceId に基づき、サーバー API ビデオ会議の終了 を呼び出して、ビデオ会議を終了します。
public void videoConferencesClose() throws Exception { Config config = new Config(); config.protocol = "https"; config.regionId = "central"; com.aliyun.dingtalkconference_1_0.Client client = new com.aliyun.dingtalkconference_1_0.Client(config); CloseVideoConferenceHeaders closeVideoConferenceHeaders = new CloseVideoConferenceHeaders(); closeVideoConferenceHeaders.xAcsDingtalkAccessToken = "accessToken"; CloseVideoConferenceRequest closeVideoConferenceRequest = new CloseVideoConferenceRequest() .setUnionId("E9CS6X*******QiEiE"); try { CloseVideoConferenceResponse closeVideoConferenceResponse = client.closeVideoConferenceWithOptions("636866074147ec014a76e720", closeVideoConferenceRequest, closeVideoConferenceHeaders, new RuntimeOptions()); System.out.println(JSON.toJSONString(closeVideoConferenceResponse.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.message); System.out.println(err.code); } } 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); } } } -
会議録画情報を検索します。
-
ビデオ会議の conferenceId に基づき、サーバー API 会議録画の詳細情報を検索 を呼び出して、会議録画の録画者、録画開始時刻、録画継続時間などの情報を検索します。
public void VideoDetailedInfos() throws Exception { Config config = new Config(); config.protocol = "https"; config.regionId = "central"; com.aliyun.dingtalkconference_1_0.Client client = new com.aliyun.dingtalkconference_1_0.Client(config); QueryCloudRecordVideoHeaders queryCloudRecordVideoHeaders = new QueryCloudRecordVideoHeaders(); queryCloudRecordVideoHeaders.xAcsDingtalkAccessToken = "accessToken"; QueryCloudRecordVideoRequest queryCloudRecordVideoRequest = new QueryCloudRecordVideoRequest() .setUnionId("E9CS6X*******QiEiE"); try { QueryCloudRecordVideoResponse queryCloudRecordVideoResponse = client.queryCloudRecordVideoWithOptions("636866074147ec014a76e720", queryCloudRecordVideoRequest, queryCloudRecordVideoHeaders, new RuntimeOptions()); System.out.println(JSON.toJSONString(queryCloudRecordVideoResponse.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.message); System.out.println(err.code); } } 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.message); System.out.println(err.code); } } } -
ビデオ会議の conferenceId に基づき、サーバー API 会議録画の動画情報を検索 を呼び出して、動画のダウンロード URL、動画ファイルサイズ、動画の長さなどの情報を検索します。
public void videosPlayInfos() throws Exception { Config config = new Config(); config.protocol = "https"; config.regionId = "central"; com.aliyun.dingtalkconference_1_0.Client client = new com.aliyun.dingtalkconference_1_0.Client(config); QueryCloudRecordVideoPlayInfoHeaders queryCloudRecordVideoPlayInfoHeaders = new QueryCloudRecordVideoPlayInfoHeaders(); queryCloudRecordVideoPlayInfoHeaders.xAcsDingtalkAccessToken = "accessToken"; QueryCloudRecordVideoPlayInfoRequest queryCloudRecordVideoPlayInfoRequest = new QueryCloudRecordVideoPlayInfoRequest() .setUnionId("E9CS6X*******QiEiE") .setMediaId("7665cd17********90991fe43bb") .setRegionId("cn-shanghai"); try { QueryCloudRecordVideoPlayInfoResponse queryCloudRecordVideoPlayInfoResponse = client.queryCloudRecordVideoPlayInfoWithOptions("636866074147ec014a76e720", queryCloudRecordVideoPlayInfoRequest, queryCloudRecordVideoPlayInfoHeaders, new RuntimeOptions()); System.out.println(JSON.toJSONString(queryCloudRecordVideoPlayInfoResponse.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.message); System.out.println(err.code); } } 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.message); System.out.println(err.code); } } } -
ビデオ会議の conferenceId に基づき、サーバー API 会議録画のテキスト情報を検索 を呼び出して、会議録画のテキストコンテンツ、テキスト記録開始時刻、テキスト記録終了時刻などの情報を検索します。
public void videosTextInfos() throws Exception { Config config = new Config(); config.protocol = "https"; config.regionId = "central"; com.aliyun.dingtalkconference_1_0.Client client = new com.aliyun.dingtalkconference_1_0.Client(config); QueryCloudRecordTextHeaders queryCloudRecordTextHeaders = new QueryCloudRecordTextHeaders(); queryCloudRecordTextHeaders.xAcsDingtalkAccessToken = "accessToken"; QueryCloudRecordTextRequest queryCloudRecordTextRequest = new QueryCloudRecordTextRequest() .setUnionId("E9CS6X*******QiEiE") .setStartTime(1000L) .setDirection("0") .setMaxResults(200L); // 初回検索の場合、このパラメータは省略可能です //.setNextToken(0L); try { QueryCloudRecordTextResponse queryCloudRecordTextResponse = client.queryCloudRecordTextWithOptions("636866074147ec014a76e720", queryCloudRecordTextRequest, queryCloudRecordTextHeaders, new RuntimeOptions()); System.out.println(JSON.toJSONString(queryCloudRecordTextResponse.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.message); System.out.println(err.code); } } 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.message); System.out.println(err.code); } } }
-
ビデオ会議の conferenceId に基づき、サーバー API 会議録画の詳細情報を検索 を呼び出して、会議録画の録画者、録画開始時刻、録画継続時間などの情報を検索します。