是否可以使用MSGraphAPIv1.0创建MSTeams会议?
我正在尝试使用 MS Graph API 创建 MS Teams 会议。据记载,为了创建会议,应将委派的“OnlineMeetings.ReadWrite”权限分配给 Azure 应用程序。
我分配了这个权限,但我得到了回应:
{'error': {'code': 'Forbidden', 'message': '', 'innerError': {'request-id': 'baa2940f-6b8e-45c1-8ea1-770792266458', 'date': '2021-01-15T10:00:14', 'client-request-id': 'baa2940f-6b8e-45c1-8ea1-770792266458'}}}
这是我的代码:
meeting = {
"startDateTime" : s_date,
"endDateTime" : e_date,
"subject" : subject
}
meeting_response = client.post("/users/{user_id}/onlineMeetings",json.dumps(meeting),headers=
{'Content-Type': 'application/json'})
meeting = json.loads(meeting_response.text)
print(meeting)
我可以使用 Graph Explorer 以同样的方式创建会议
我做错了什么还是MS方面的错误?
回答
是的,您是对的,正如您在评论中所说:v1.0端点只能调用/meapi为自己创建会议。如果你想为其他人创建一个会议,你应该使用Beta端点,然后调用/usersapi。(当您使用测试版时,根据文档:管理员必须创建应用程序访问策略并将其授予用户,授权策略中配置的应用程序代表该用户创建在线会议(在请求路径)。)
请注意:由于调用的/users是没有用户登录的调用,即应用程序作为自己的实体而不是代表特定的用户,所以你应该给应用OnlineMeetings.Read.All 程序授予应用程序权限,然后给权限授予管理员同意,最后您需要使用基于守护进程的客户端凭据流来获取访问令牌。