使用Graph API在Postman移除Teams通话用户时遇应用未注册错误
我在Postman中调用Microsoft Graph API移除Teams通话中的参与者时,持续返回如下错误:
{ "error": { "code": "UnknownError", "message": "{\"errorCode\":\"7503\",\"message\":\"Application is not registered in our store.\",\"instanceAnnotations\":[]}", "innerError": { "date": "2024-07-22T17:30:23", "request-id": "6b3721f6-f1f4-4d95-b953-a443bfd023f7", "client-request-id": "6b3721f6-f1f4-4d95-b953-a443bfd023f7" } }
调用的API端点:https://graph.microsoft.com/v1.0/communications/calls/g35Yz6xDyUCkF90GCQgfDA.1/participants/cc0d36a3-8b6e-468f-868b-7a151ff3463b
已完成应用注册并配置了对应权限,测试环境为Microsoft 365开发者即时沙箱。
可能的解决方向
确认权限配置的准确性
检查应用注册中是否配置了OnlineMeeting.ReadWrite.All或Calls.Initiate.All这类通话参与者管理的应用权限,且已完成管理员同意。注意必须是应用权限而非委派权限,移除通话参与者操作仅支持应用级权限。验证Teams租户中的应用状态
7503错误核心原因是应用未在Teams生态中完成注册,即使Azure AD已注册应用,仍需在Teams Admin Center确认:- 登录Teams Admin Center,进入「Teams应用>管理应用」
- 搜索你的应用,确认状态为「允许」
- 若应用不在列表中,需在Azure AD应用注册的「集成」选项卡补全Teams应用配置,或手动上传应用至Teams租户
排查开发者沙箱限制
Microsoft 365开发者即时沙箱可能存在功能限制,部分通话管理API需要租户启用Teams Phone或对应通信许可。尝试为沙箱租户申请添加Teams Phone试用许可,再测试API调用。确认API调用的合法性
移除参与者需满足两个前提:通话处于活跃状态,且调用应用是通话发起方或具备管理权限。同时检查请求方法是否为DELETE,该API仅支持DELETE请求。验证身份令牌权限
用JWT解析工具检查获取的令牌,确认roles声明中包含对应的通话管理权限。若权限缺失,可能是权限同意未生效,或获取令牌时请求的权限范围不正确。
内容的提问来源于stack exchange,提问作者M-S

