You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

读取Outlook日历出现userAudience配置错误的原因及解决方法咨询

错误原因

你遇到的报错是Azure应用的用户受众配置与O365库默认使用的身份验证端点不匹配导致的:

  • O365库的MSGraphProtocol默认使用/common/身份验证端点,该端点支持同时对接企业工作/学校账户、个人消费者微软账户,要求应用的用户受众配置为All
  • 你当前在Azure注册的应用用户受众被设置为了Consumer(仅支持个人消费者微软账户),该配置下不允许使用/common/端点,因此触发身份验证失败
解决办法

有两种可选择的方案,根据你的业务场景选择即可:

方案1:修改Azure应用用户受众配置(通用方案,适合需要同时支持企业、个人账户的场景)

操作步骤如下:

  • 进入Azure门户的「应用注册」页面,打开你创建的目标应用
  • 在左侧菜单栏选择「管理」分类下的「身份验证」选项
  • 找到「支持的帐户类型」区块,将当前配置从仅个人Microsoft帐户修改为任何组织目录中的帐户和个人Microsoft帐户(例如 Skype、Xbox)
  • 保存配置后等待3~5分钟生效,再重新运行测试脚本即可正常完成身份验证

方案2:修改代码适配现有应用配置(适合仅对接个人消费者微软账户的场景)

如果你不需要支持企业用户,无需修改Azure配置,只要修改代码指定身份验证端点为消费者专用端点即可,修改后的代码如下:

from O365 import Account, MSGraphProtocol

CLIENT_ID = 'MY CLIENT ID'
SECRET_ID = 'MY SECRET ID'

credentials = (CLIENT_ID, SECRET_ID)
# 指定azure_tenant参数为consumers,使用消费者专属端点匹配当前应用配置
protocol = MSGraphProtocol(azure_tenant='consumers')
scopes = ['Calendars.Read.Shared']
account = Account(credentials, protocol=protocol)

if account.authenticate(scopes=scopes):
    print('Authenticated!')

内容的提问来源于stack exchange,提问作者challenger128

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 18:36:06