Dataverse API请求报错“用户不属于组织”的解决方法咨询
解决Dataverse API客户端凭证模式报错“The user is not a member of the organization.”的方案
问题根源:使用grant_type=client_credentials模式时,调用API的身份是Azure AD应用本身,这个应用身份必须在目标Dataverse环境中创建对应的应用用户并分配权限,否则会被判定为不属于组织成员。而grant_type=password模式用的是环境内已存在的用户账号,本身具备组织成员身份,因此可以正常访问。
具体操作步骤:
获取Azure AD应用的客户端ID
- 登录Azure门户,进入你的应用注册页面,在“概述”中复制“应用程序(客户端) ID”。
在Power Platform管理中心添加应用用户
- 登录Power Platform admin center,找到目标Dataverse环境并进入详情页。
- 在左侧菜单的“设置”中,展开“用户 + 权限”,选择“应用用户”。
- 点击“新建应用用户”,选择“添加应用”,在搜索框中输入Azure AD应用的名称或客户端ID,选中目标应用后确认添加。
- 为这个应用用户分配合适的安全角色(例如根据需求选择“系统管理员”、“基本用户”等,确保角色具备访问目标数据的权限),完成后保存配置。
验证配置效果
- 重新通过
grant_type=client_credentials获取Bearer令牌,再发起Dataverse API请求,此时应该可以正常访问数据。
- 重新通过
内容的提问来源于stack exchange,提问作者Filipe Nóbrega
相关产品推荐
相关产品推荐

