Microsoft/Azure OAuth授权失败:组织缺少服务主体
解决Bing Ads API授权时AADSTS650052错误的方案
你遇到的AADSTS650052错误核心原因是:你的Azure租户中未创建Microsoft Advertising API Service(ID: d42ffc93-c136-491d-b4fd-6f18168c68fd)对应的服务主体,导致应用无法请求该API的权限。以下是具体解决步骤:
1. 手动创建Microsoft Advertising API Service的服务主体
- 登录Azure门户,进入「Azure Active Directory」→「企业应用程序」
- 点击「新建应用程序」,选择「从库中添加」
- 在搜索框输入
Microsoft Advertising API Service,或直接用服务IDd42ffc93-c136-491d-b4fd-6f18168c68fd查找 - 找到对应服务后点击「添加」,系统会自动在你的租户中创建服务主体
2. 为应用授予API权限并同意
- 回到你的应用注册页面,进入「API权限」
- 确认已添加
https://ads.microsoft.com/msads.manage权限,点击「授予管理员同意」(你作为租户唯一管理员可直接操作)
3. 修正授权URL的错误尝试
- 移除授权URL中额外添加的
client_secret参数,授权码流程的第一步不需要该参数,文档未提及是正确的 - 若你的租户是个人账户衍生的,可尝试将
{tenant_id}替换为common测试(企业租户保留原ID即可)
4. 验证租户与账户权限
- 新创建的Azure租户可能存在初始化延迟,等待10-15分钟后重试授权流程
- 确认你的账户拥有全局管理员权限:进入「Azure AD」→「角色和管理员」→「全局管理员」,检查你的账户是否在列表中
补充说明
客户的租户能成功进入同意页面,是因为他们的租户此前可能已使用过Microsoft Advertising相关服务,系统自动创建了对应服务主体;而你的新租户无此前置操作,因此需要手动完成服务主体的创建。
内容的提问来源于stack exchange,提问作者Jul
相关产品推荐
相关产品推荐

