更新时间:2025-04-17 GMT+08:00

预约周期会议

BookCycleConf

接口描述

该接口用于预约周期会议。

注意事项

  1. 该接口在已登录状态下才能调用。
  2. 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。
  3. 会议开始时间必须晚于当前时间,会议时长应大于15分钟。
  4. 携带与会者入会的时候需要传入attendees。
  5. 周期会议最大跨度一年,会议数量不超过50,超过则只预约前50个会议。
  6. 回调函数中会返回预约成功后的会议详情,详见HwmConfDetail结构体表。如果参数内只有会议id有值则获取会议详情失败。

方法定义

1
HWM_SDK_AGENT_API hwmsdk::HwmErrCode BookCycleConf(const HwmBookCycleConfParam *bookCycleConfParam);

回调函数

1
virtual void OnBookCycleConfResult(hwmsdk::HwmErrCode ret, const char* reason, const HwmConfDetail* confDetail) {};

参数描述

表1 结构体HwmBookCycleConfParam参数说明

参数

是否必须

类型

描述

bookCycleConfParam

HwmBookConfParam

预约会议参数

cycleParam

HwmCycleConfParam

周期会议参数

表2 结构体HwmCycleConfParam参数说明

参数

是否必须

类型

描述

startTimeStamp

long long

开始时间,UTC时间戳,精度秒。

endTimeStamp

long long

结束时间,UTC时间戳,精度秒。

cycleType

HwmCycleType

周期类型

interval

unsigned int

周期区间。

1、周期类型选择了按天,表示每几天召开一次,取值范围[1,15];

2、周期类型选择了Week,表示每几周召开一次,取值范围[1,5];

3、周期类型选择了Month,interval表示隔几月,取值范围[1,3]

listPoints

char[]

周期内的会议召开点。仅当按周和月时有效。数据格式(中间用逗号隔开):1,3,5,7

- 当按周时,取值范围[0,6],0代表周日,1代表周一,以此类推;

- 当按月时,取值范围[1,31],若当月不含31号,则认为是当月最后一天

preRemindDays

unsigned int

周期子会议提前通知天数。

表3 枚举HwmCycleType说明

枚举值

描述

CYCLE_TYPE_DAY

以天为周期。

CYCLE_TYPE_WEEK

以周为周期。

CYCLE_TYPE_MONTH

以月为周期。

示例代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/**
* 预约会议
*/
int CdemoBookConfDlg::OnBnClickedBookCycleConf()
{
    hwmsdkagent::HwmBookConfParam data{};
    strncpy_s(data.subject, GetConfSubject().c_str(), HWM_MAX_SUBJECT_LEN); // 此处应是utf-8编码字符串
    data.confType = hwmsdkagent::HwmConfMediaType::HWM_VIDEO_AND_DATA;
    data.isNeedConfPwd = true;
    data.isAutoRecordOn = true;
    data.isRecordOn = true;
    data.startTime = 1633017600; //utc时间戳,单位秒,如果获取的时间是本地时间,需要转换成utc时间
    data.duration = 30; //会议持续时长(分钟)
    data.timeZone = 56; //时区,56表示东八区
    data.joinConfRestrictionType = hwmsdkagent::HwmJoinConfPermissionType::RESTRICTION_CALL_IN_ALL;
    strncpy_s(editConfParam.subject, GetSubject().c_str(), HWM_MAX_SUBJECT_LEN);    
    
    std::vector<hwmsdkagent::HwmAttendeeInfo> attendeeList;
    //被邀与会者
    hwmsdkagent::HwmAttendeeInfo attendeeInfo{};
    strncpy_s(attendeeInfo.name, GetAttName().c_str(), HWM_MAX_USER_NAME_LEN);
    strncpy_s(attendeeInfo.number, GetAttNumber().c_str(), HWM_MAX_NUMBER_LEN);
    strncpy_s(attendeeInfo.email, GetAttEmail().c_str(), HWM_MAX_EMAIL_LEN);
    strncpy_s(attendeeInfo.sms, GetAttSms().c_str(), HWM_MAX_PHONE_NUM_LEN);
    strncpy_s(attendeeInfo.thirdUserId, GetAttUserId().c_str(), HWM_MAX_USER_ID_LEN);
    attendeeInfo.isMute = true;
    attendeeInfo.isAutoInvite = true;
    attendeeList.push_back(attendeeInfo);
 
    data.attendees = attendeeList.data();
    data.attendeeLen = attendeeList.size(); 
    data.isSmsOn = true;
    data.isMailOn = true;
    data.isEmailCalendarOn = true;
    hwmsdkagent::HwmCycleConfParam cycleConfParam{};
    cycleConfParam.startDate = 1633017600; //utc时间戳,单位秒,如果获取的时间是本地时间,需要转换成utc时间
    cycleConfParam.endDate= 1636560000; //utc时间戳,单位秒,如果获取的时间是本地时间,需要转换成utc时间
    cycleConfParam.cycleType = hwmsdkagent::CYCLE_TYPE_WEEK;
    strcpy_s(cycleConfParam.listPoints, sizeof(cycleConfParam.listPoints), "1,5"); // 每周的星期1,星期5
    cycleConfParam.preRemindDays = 1;

    hwmsdkagent::HwmBookCycleConfParam bookCycleConfParam{};
    bookCycleConfParam.bookConfParam = data;
    bookCycleConfParam.cycleParam = cycleConfParam;
    return hwmsdkagent::BookCycleConf(&bookCycleConfParam);
}