企业微信会议管理
此Skill提供企业微信预约会议的管理功能,基于企业微信官方API(文档:https://developer.work.weixin.qq.com/document/path/99104)。
核心功能
- - 创建预约会议:创建指定主题、时间、参会人的会议
- 获取会议详情:查询会议的详细信息
- 取消会议:取消已创建的会议
- 获取成员会议列表:查询指定成员的所有会议
前置要求
企业微信API配置
使用此Skill需要企业微信API凭证:
- - CorpID(企业ID):从企业微信管理后台「我的企业」获取
- Secret(应用Secret):从企业微信管理后台「应用管理」→ 选择应用 → 查看 Secret 获取
- AgentID(应用ID):从企业微信管理后台「应用管理」→ 选择应用 → 查看 AgentId 获取
安装依赖
CODEBLOCK0
配置文件(推荐)
将企业微信凭证保存在 ~/.wecom/config.json 中:
CODEBLOCK1
工作流程
1. 创建预约会议
关键点:企业微信会议API使用特定的参数格式,必须严格按照官方文档格式。
基本格式
CODEBLOCK2
重要参数说明
- -
meeting_start:Unix时间戳(秒),必须大于当前时间 - INLINECODE2 :会议时长(秒),最小300秒(5分钟),最大86399秒(约24小时)
- INLINECODE3 :会议提醒时间,支持:0(会议开始时)、300(5分钟前)、900(15分钟前)、3600(1小时前)、86400(1天前)
- INLINECODE4 :参会人的企业微信UserID(注意:不是中文姓名)
使用脚本创建
CODEBLOCK3
参数说明
- -
--userid:发起人UserID(必填) - INLINECODE6 :会议主题(必填)
- INLINECODE7 :开始时间,格式:HH:MM(必填)
- INLINECODE8 :会议时长(分钟),默认60(可选)
- INLINECODE9 :参会人列表,逗号分隔(可选)
- INLINECODE10 :日期,格式:YYYY-MM-DD,默认今天(可选)
- INLINECODE11 :会议描述(可选)
- INLINECODE12 :提前提醒(分钟),默认2(可选)
2. 取消会议
CODEBLOCK4
参数说明
- -
--userid:发起人UserID(必填) - INLINECODE14 :会议ID(必填)
3. 获取会议详情
CODEBLOCK5
4. 获取成员会议列表
CODEBLOCK6
常见错误及解决方案
错误 40058: missing field title 或 meeting_start
原因:参数格式错误,使用了不兼容的API版本
解决方案:使用正确的参数格式
- - 使用
title 而不是 INLINECODE18 - 使用
meeting_start 而不是 INLINECODE20 - 使用
admin_userid 而不是 INLINECODE22
错误 60111: userid not found
原因:UserID不存在或格式错误
解决方案:
- - 使用企业微信系统生成的UserID(如
WanHuiYi),而不是中文姓名 - 在企业微信管理后台「通讯录」→ 成员详情中查看正确的UserID
错误 400034: invalid meeting_start
原因:会议开始时间无效(已过去或时间戳格式错误)
解决方案:
- - 确保会议开始时间在未来
- 使用Unix时间戳(秒),而不是毫秒或其他格式
错误 48002: api forbidden
原因:应用没有创建会议的权限
解决方案:
- - 在企业微信管理后台为应用分配"会议"权限
- 确认应用已启用
API文档参考
详细的API文档请查看:
或查看本skill的 references/api.md 文件。
注意事项
- 1. 权限要求:应用需要具有"会议"管理权限
- 时间限制:会议开始时间必须在未来,不能创建过去或当前时间的会议
- 参会人限制:参会人必须是企业微信成员,UserID必须正确
- 时长限制:会议时长最小5分钟(300秒),最大约24小时(86399秒)
- 提醒时间:仅支持特定的提醒时间点(0、300、900、3600、86400秒)
示例
示例1:创建简单会议
CODEBLOCK7
示例2:创建多参会人会议
CODEBLOCK8
示例3:创建带提醒的会议
CODEBLOCK9
示例4:取消会议
CODEBLOCK10
示例5:查看今日会议
CODEBLOCK11
直接调用(高级用法)
如果需要更灵活的控制,可以直接在Python代码中使用 WeComMeeting 类:
CODEBLOCK12
详细API参考见 scripts/wecom_meeting_api.py。
企业微信会议管理
此Skill提供企业微信预约会议的管理功能,基于企业微信官方API(文档:https://developer.work.weixin.qq.com/document/path/99104)。
核心功能
- - 创建预约会议:创建指定主题、时间、参会人的会议
- 获取会议详情:查询会议的详细信息
- 取消会议:取消已创建的会议
- 获取成员会议列表:查询指定成员的所有会议
前置要求
企业微信API配置
使用此Skill需要企业微信API凭证:
- - CorpID(企业ID):从企业微信管理后台「我的企业」获取
- Secret(应用Secret):从企业微信管理后台「应用管理」→ 选择应用 → 查看 Secret 获取
- AgentID(应用ID):从企业微信管理后台「应用管理」→ 选择应用 → 查看 AgentId 获取
安装依赖
bash
pip3 install requests
配置文件(推荐)
将企业微信凭证保存在 ~/.wecom/config.json 中:
json
{
corpid: wwxxxxxxxxxxxxxxxx,
secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,
agentid: 1000002
}
工作流程
1. 创建预约会议
关键点:企业微信会议API使用特定的参数格式,必须严格按照官方文档格式。
基本格式
python
{
admin_userid: 发起人UserID,
title: 会议主题,
meeting_start: 开始时间戳(秒),
meeting_duration: 会议时长(秒),
description: 会议描述(可选),
invitees: {
userid: [参会人UserID1, 参会人UserID2]
},
reminders: {
is_repeat: 0, # 0=非周期性会议
remind_before: [120] # 提前2分钟(单位:秒)
}
}
重要参数说明
- - meetingstart:Unix时间戳(秒),必须大于当前时间
- meetingduration:会议时长(秒),最小300秒(5分钟),最大86399秒(约24小时)
- remind_before:会议提醒时间,支持:0(会议开始时)、300(5分钟前)、900(15分钟前)、3600(1小时前)、86400(1天前)
- invitees.userid:参会人的企业微信UserID(注意:不是中文姓名)
使用脚本创建
bash
cd ~/.openclaw/workspace/skills/wecom-meeting
python3 scripts/create_meeting.py \
--userid WanHuiYi \
--title openclaw应用 \
--time 17:40 \
--duration 60 \
--attendees WanHuiYi,WanLang
参数说明
- - --userid:发起人UserID(必填)
- --title:会议主题(必填)
- --time:开始时间,格式:HH:MM(必填)
- --duration:会议时长(分钟),默认60(可选)
- --attendees:参会人列表,逗号分隔(可选)
- --date:日期,格式:YYYY-MM-DD,默认今天(可选)
- --description:会议描述(可选)
- --remind:提前提醒(分钟),默认2(可选)
2. 取消会议
bash
cd ~/.openclaw/workspace/skills/wecom-meeting
python3 scripts/cancel_meeting.py \
--userid WanHuiYi \
--meetingid hyBsrsUwAAZ6jYVW5GX73PHdS927OrCA
参数说明
- - --userid:发起人UserID(必填)
- --meetingid:会议ID(必填)
3. 获取会议详情
bash
cd ~/.openclaw/workspace/skills/wecom-meeting
python3 scripts/get_meeting.py \
--meetingid hyBsrsUwAAZ6jYVW5GX73PHdS927OrCA
4. 获取成员会议列表
bash
cd ~/.openclaw/workspace/skills/wecom-meeting
python3 scripts/list_meetings.py \
--userid WanHuiYi
常见错误及解决方案
错误 40058: missing field title 或 meeting_start
原因:参数格式错误,使用了不兼容的API版本
解决方案:使用正确的参数格式
- - 使用 title 而不是 meetingname
- 使用 meetingstart 而不是 starttime
- 使用 adminuserid 而不是 userid
错误 60111: userid not found
原因:UserID不存在或格式错误
解决方案:
- - 使用企业微信系统生成的UserID(如 WanHuiYi),而不是中文姓名
- 在企业微信管理后台「通讯录」→ 成员详情中查看正确的UserID
错误 400034: invalid meeting_start
原因:会议开始时间无效(已过去或时间戳格式错误)
解决方案:
- - 确保会议开始时间在未来
- 使用Unix时间戳(秒),而不是毫秒或其他格式
错误 48002: api forbidden
原因:应用没有创建会议的权限
解决方案:
- - 在企业微信管理后台为应用分配会议权限
- 确认应用已启用
API文档参考
详细的API文档请查看:
或查看本skill的 references/api.md 文件。
注意事项
- 1. 权限要求:应用需要具有会议管理权限
- 时间限制:会议开始时间必须在未来,不能创建过去或当前时间的会议
- 参会人限制:参会人必须是企业微信成员,UserID必须正确
- 时长限制:会议时长最小5分钟(300秒),最大约24小时(86399秒)
- 提醒时间:仅支持特定的提醒时间点(0、300、900、3600、86400秒)
示例
示例1:创建简单会议
bash
python3 scripts/create_meeting.py \
--userid WanHuiYi \
--title 项目讨论会 \
--time 14:00 \
--duration 30
示例2:创建多参会人会议
bash
python3 scripts/create_meeting.py \
--userid WanHuiYi \
--title 周会 \
--time 09:30 \
--duration 60 \
--attendees WanHuiYi,WanLang,ZhangSan
示例3:创建带提醒的会议
bash
python3 scripts/create_meeting.py \
--userid WanHuiYi \
--title 重要会议 \
--time 15:00 \
--duration 90 \
--remind 15
示例4:取消会议
bash
python3 scripts/cancel_meeting.py \
--userid WanHuiYi \
--meetingid hyBsrsUwAAZ6jYVW5GX73PHdS927OrCA
示例5:查看今日会议
bash
python3 scripts/list_meetings.py --userid WanHuiYi
直接调用(高级用法)
如果需要更灵活的控制,可以直接在Python代码中使用 WeComMeeting 类:
python
import sys
sys.path.append(~/.openclaw/workspace/skills/wecom-meeting/scripts)
from wecommeetingapi import WeComMeeting
初始化
meeting = WeComMeeting()
创建会议
result = meeting.create_meeting(
admin_userid=WanHuiYi,
title=openclaw应用,
meeting_start=1772790000, # Unix时间戳
meeting_duration=3600, # 60分钟
invitees={userid: [WanHuiYi, WanLang]},
reminders={is
repeat: 0, remindbefore: [120]}
)