如何用Python自动化创建同设置异参会人的Microsoft Teams网络研讨会?工具咨询
问题解答
完全可以用Python自动化完成这个批量创建Teams网络研讨会的任务,效率比手动操作高几个量级。
直接给结论:Selenium不是最优方案,更推荐用Microsoft Graph API实现,理由如下:
- Selenium是模拟浏览器手动操作,Teams网页端界面随时可能更新,你的元素定位代码很容易失效;批量创建250场会议时,浏览器加载慢、元素定位失败、账号被判定异常登录的概率极高,稳定性完全没法保证,反而会浪费更多时间。
- Graph API是微软官方提供的接口,专门用于批量管理Teams、Outlook等微软服务,操作稳定、速度快,能精准控制所有会议参数,完美适配你的需求。
具体实现思路:
- 准备工作:在Azure AD中注册一个应用,获取
client_id、tenant_id、client_secret,并申请OnlineMeetings.ReadWrite.All等必要权限(需管理员授权)。 - 整理参会人数据:把每个班级的学生邮箱整理成CSV或Excel文件,每行对应一个班级的邮箱列表。
- 编写Python脚本:
- 用
requests库调用Graph API获取访问令牌; - 循环读取每个班级的参会人数据,构造会议创建的请求体(包含相同的会议设置、重复规则、参会人列表);
- 发送POST请求到
https://graph.microsoft.com/v1.0/me/onlineMeetings创建会议,保存返回的会议链接。
- 用
举个简单的请求体示例(设置每日重复两周):
import requests import json # 先获取访问令牌(省略令牌获取代码,可通过client credential flow实现) access_token = "你的访问令牌" headers = { "Authorization": f"Bearer {access_token}", "Content-Type": "application/json" } # 会议配置模板 meeting_payload = { "startDateTime": "2024-09-01T09:00:00Z", "endDateTime": "2024-09-01T10:30:00Z", "subject": "XX课程线上教学", "participants": { "attendees": [ {"emailAddress": {"address": "student1@school.com", "name": "学生1"}}, # 其他参会人邮箱... ] }, "recurrence": { "pattern": {"type": "daily", "interval": 1}, "range": {"type": "endDate", "endDate": "2024-09-14"} }, # 其他统一设置(如允许提前加入、自动录制等) } # 发送创建请求 response = requests.post( "https://graph.microsoft.com/v1.0/me/onlineMeetings", headers=headers, data=json.dumps(meeting_payload) )
如果你对Azure AD和Graph API不熟悉,直接找微软官方的Python示例代码跟着走就行,比折腾Selenium靠谱得多,能帮你快速完成批量创建任务。
内容的提问来源于stack exchange,提问作者kaya
相关产品推荐
相关产品推荐

