Scheduling a Meeting
API Description
This API is used to schedule a meeting.
Precautions
- This API can be called only when you have logged in to Huawei Cloud Meeting.
- The meeting start time must be later than the current time, and the meeting duration must be longer than 15 minutes.
- The vmrId parameter must be passed for a personal meeting or cloud meeting room.
- The attendees parameter must be passed if participant information needs to be carried.
- The result parameter in the callback returns the meeting details. For details, see Table 3.
Method Definition
1 2 3 4 5 6 |
/** * Schedules a meeting. * @param bookConfParam Indicates the bookConfParam object. * @param hwmCallback Indicates the result callback. */ void bookConf(BookConfParam bookConfParam , HwmCallback<ConfInfo> hwmCallback); |
Parameter Description
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
confSubject |
Yes |
String |
Meeting topic. |
startTime |
Yes |
long |
Meeting start time. The value is a UTC timestamp, in seconds. |
duration |
Yes |
int |
Meeting duration, in minutes. The value ranges from 15 to 1,440. |
timeZone |
No |
int |
Time zone code. The default value is 56, indicating GMT+08:00. For details, see Time Zone Table. |
confType |
Yes |
MeetingType |
Meeting type. The default value is CONF_VIDEO. CONF_AUDIO(0, "Voice meeting"), CONF_VIDEO(1, "Video meeting"); |
attendees |
No |
List<AttendeeModel> |
Participant list. |
vmrIdFlag |
No |
boolean |
Whether to use the cloud meeting room ID for meeting scheduling. The default value is false. |
vmrId |
No |
String |
Cloud meeting room ID. This parameter is mandatory when vmrIdFlag is set to true. |
isNeedConfPwd |
No |
boolean |
Whether a guest password is required. The default value is true.
NOTE:
This parameter is valid only for meetings with a random ID. |
guestPwd |
No |
String |
Guest password. If this parameter is left blank, the guest password is generated by the server.
NOTE:
This parameter is valid only for meetings with a random ID. |
joinConfRestrictionType |
No |
JoinConfPermissionType |
Range of participants who are allowed to join the meeting. The default value is PERMIT_EVERYONE. PERMIT_EVERYONE("PERMIT_EVERYONE", 0, "Everyone is allowed to join the meeting.") PERMIT_ENTERPRISE_USER("PERMIT_ENTERPRISE_USER", 2, " Only corporate users are allowed to join the meeting.") PERMIT_INVITED_USER("PERMIT_INVITED_USER", 3, "Only invited users are allowed to join the meeting.") |
isRecordOn |
No |
boolean |
Whether recording is supported. The default value is false.
NOTE:
This parameter is valid only for cloud recording, not for local recording on clients. |
isAutoRecord |
No |
boolean |
Whether to automatically start recording after the meeting starts. The default value is false. Meeting recording must be enabled if automatic recording is enabled.
NOTE:
This parameter is valid only for cloud recording, not for local recording on clients. |
isSmsOn |
No |
boolean |
Whether to send SMS notifications. The default value is false. This function must be enabled in the enterprise configuration. Otherwise, this function does not take effect. |
isMailOn |
No |
boolean |
Whether to send email notifications. The default value is false. |
isEmailCalenderOn |
No |
boolean |
Whether to send email calendars. The default value is false. |
vmrIdType |
No |
VmrIdType |
Meeting ID type of the cloud meeting room. The ID can be fixed or random. |
allowGuestStartConf |
No |
boolean |
Whether to allow guests to join the meeting ahead of the host.
NOTE:
|
allowGuestStartConfTime |
No |
int |
Time range allowed for guests to join the meeting in advance, in minutes. 0: Guests can join the meeting at any time before the scheduled time. x: Guest can join the meeting x minutes before the scheduled time.
NOTE:
|
isOpenWaitingRoom |
No |
boolean |
Whether to enable the waiting room.
NOTE:
|
customInfo |
No |
String |
User-defined data on the device side. The server is unaware of the data. |
concurrentParticipants |
No |
int |
Maximum number of participants in the meeting. If this parameter is left blank, there is no restriction. |
confResType |
No |
ConfResType |
Meeting resource type. This parameter is mandatory only for a shared cloud meeting room (set the value to ConfResType.CONF_RESTYPE_SHARE_VMR). |
autoMuteMode |
No |
AutoMuteType |
Whether to automatically mute personal client users when they join the meeting. |
hardTerminalAutoMuteMode |
No |
AutoMuteType |
Whether to automatically mute meeting room device users when they join the meeting. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
number |
Yes |
String |
SIP number or phone number (Specify either number or thirdUserId). |
thirdUserId |
Yes |
String |
Third-party account in the app ID login scenario.
NOTE:
Specify either number or thirdUserId. |
name |
Yes |
String |
Name. The value can contain up to 96 characters. |
isSelf |
No |
boolean |
Whether you are the participant. |
isAutoInvite |
No |
boolean |
Whether to automatically make a call when the start time arrives. |
isMute |
No |
boolean |
Whether to mute the microphone when joining the meeting. |
accountId |
No |
String |
Unique ID of the user account in the corporate directory. |
type |
No |
HwmAttendeeType |
Participant type. |
|
No |
String |
Email address. |
sms |
No |
String |
Mobile number. |
|
No |
String |
Email address. |
orgId |
No |
String |
Enterprise ID of the user, which is used to identify whether the user belongs to your enterprise (when the API for obtaining the participant list is called). |
isAnonymous |
No |
boolean |
Whether to join the meeting anonymously. |
state |
No |
Participant status. (This parameter is used only for obtaining the participant list.) |
Parameter |
Type |
Description |
---|---|---|
confSubject |
String |
Meeting topic. |
confId |
String |
Meeting ID. |
isOtherCorpConf |
boolean |
Whether the meeting is held in another enterprise. |
vmrConferenceId |
String |
Personal meeting ID. |
confPwd |
String |
Meeting password. |
confAccessNum |
String |
Meeting access number. |
confChairPwd |
String |
Host password. |
confGuestUri |
String |
Guest link. |
confStartTime |
String |
Meeting start time. |
confEndTime |
String |
Meeting end time. |
confScheduserName |
String |
Meeting creator. |
confOrgId |
String |
Enterprise ID. |
audienceJoinUri |
String |
Attendee link (for webinars). |
audienceJoinPwd |
String |
Attendee password (for webinars). |
confType |
ConfType |
Meeting type, which can be general meeting or webinar. |
conferenceType |
ConferenceType |
Whether the meeting is a general or recurring meeting. |
cycleConfParam |
CycleConfParam |
Recurring meeting series parameters. |
subConfSize |
int |
Number of recurring meetings. |
subConfParam |
List<SubCycleConfParam> |
Recurring meeting parameters. |
selfConfRole |
ConfRole |
Role in the meeting. |
isInBreakoutSubConf |
boolean |
Whether the participant is in a breakout room. |
Enumeration Name |
Enumerated Value |
Description |
---|---|---|
FIXED_ID |
0 |
VmrId is a fixed ID. |
RANDOM_ID |
1 |
VmrId is a random ID. |
Enumeration Name |
Enumerated Value |
Description |
---|---|---|
CONF_RESTYPE_DEFAULT |
0 |
Default. |
CONF_RESTYPE_SHARE_VMR |
3 |
Shared cloud meeting room. |
Sample Code
Constructor of List<AttendeeModel>: boolean needWithMember = true; List<AttendeeModel> attendeeInfos = new ArrayList<>(); if (needWithMember) { // The following three methods are available: String name = getName(); String number = getNumber(); String thirdAccountId = getThirdAccountId(); if (!TextUtils.isEmpty(thirdAccountId)) { attendeeInfos.add(AttendeeModel.buildAttendeeByThirdUserId(thirdUserId, name)); } else if (number.startsWith("+99")) { // A SIP number is used to join the meeting. attendeeInfos.add(AttendeeModel.buildAttendeeBySipNumber(number, name)); } else { // A mobile number or a fixed-line phone number is used to join the meeting. attendeeInfos.add(AttendeeModel.buildAttendeeByPhone(number, name)); } } Construct a participant model for login using an app ID. For details about other models, see the demo code. public static AttendeeModel buildAttendeeByThirdUserId(@NonNull String thirdUserId, String nickName) { AttendeeModel attendeeInfo = new AttendeeModel(); attendeeInfo.setAppId(Foundation.getAppid()); attendeeInfo.setThirdUserId(thirdUserId); attendeeInfo.setName(nickName); attendeeInfo.setIsAutoInvite(true); attendeeInfo.setIsMute(true); attendeeInfo.setRole(ConfRole.ATTENDEE); attendeeInfo.setType(HwmAttendeeType.ATTENDEE_TYPE_NORMAL); return attendeeInfo; } private HwmCallback<ConfInfo> completeHandler = new HwmCallback<ConfInfo>() { @Override public void onSuccess(ConfInfo result) { dismissLoading(); DemoUtil.showToast("Meeting scheduled."); } @Override public void onFailed(int retCode, String desc) { dismissLoading(); dismiss(); String err = ErrorMessageFactory.create(Utils.getApp(), retCode); if (TextUtils.isEmpty(err)) { err = Utils.getApp().getString(R.string.hwmconf_book_conf_fail); } DemoUtil.showToast("Schedule meeting failed.: " + retCode +", desc: "+ err); } }; BookConfParam bookConfParam = new BookConfParam() .setConfSubject(getSubject()) .setStartTime(1599574798) .setTimeZone(56) .setDuration(60) .setConfType(MeetingType.CONF_VIDEO) .setVmrIdFlag(false) .setVmrId("") .setNeedConfPwd(true) .setJoinConfRestrictionType(JoinConfPermissionType.PERMIT_EVERYONE) .setRecordOn(true) .setMailOn(true) .setSmsOn(true) .setEmailCalenderOn(true) .setAttendees(attendeeInfos); HWMBizSdk.getBizOpenApi().bookConf(bookConfParam, this.completeHandler);
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot