Power Apps启动时Office365Users.ManagerV2报错,编辑模式正常求排查
Power Apps Office365Users.ManagerV2 "User not found" 错误排查
错误详情
应用运行时触发以下错误,但编辑模式无任何警告:
Office365Users.ManagerV2 failed: {"error": { "code": "ResourceNotFound", "message": "User not found", "InnerError": { "date": "2023-11-08T13:15:01", "requesr-id": " ", "client-request-id": " "} } }
问题分析
你使用的两个核心公式:
- 文本框Default属性:
Office365Users.ManagerV2(TextInput2.Text).mail - 第一个字段:
Office365Users.ManagerV2(User().Email).mail
触发错误的核心原因分为以下几种:
1. 目标用户无经理记录
这里的"User not found"实际指该用户在Azure AD/Office 365中未配置经理信息,而非用户本身不存在。比如当前登录用户(User().Email)的经理字段为空,调用ManagerV2就会返回这个错误。
2. TextInput2初始值无效
应用加载时,若TextInput2是空值、格式错误的邮箱,或对应邮箱的用户不存在/无经理,都会直接触发报错。
3. 连接器权限不足
编辑模式仅做语法校验,不检查实际权限。如果Office 365 Users连接器未配置足够权限(如User.Read.All),运行时会因无法读取用户经理数据报错。
解决方案
1. 增加容错处理,避免报错
用IfError包裹公式,在无经理或用户无效时返回友好提示:
// 第一个字段的容错写法 IfError(Office365Users.ManagerV2(User().Email).mail, "无经理信息") // 文本框的容错写法 IfError(Office365Users.ManagerV2(TextInput2.Text).mail, "用户不存在或未设置经理")
2. 确保TextInput2初始值有效
设置TextInput2的Default属性为User().Email,加载时默认填入当前用户邮箱;或增加输入有效性判断:
If( !IsBlank(TextInput2.Text) && IsMatch(TextInput2.Text, Email), IfError(Office365Users.ManagerV2(TextInput2.Text).mail, "无经理信息"), "请输入有效邮箱" )
3. 检查连接器权限
- 打开Power Apps编辑器,左侧菜单栏点击数据,找到Office 365 Users连接器
- 点击连接器右侧的三个点,选择编辑权限
- 确认勾选
User.Read.All(或更高权限如Directory.Read.All),保存后重新发布应用
内容的提问来源于stack exchange,提问作者Abdul Farhan Muhammed
相关产品推荐
相关产品推荐

