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

Django集成Microsoft Graph API遇租户及用户查询错误求助

问题诊断与解决方案

针对OrganizationFromTenantGuidNotFound错误的排查

  • 核对租户ID准确性:登录Azure门户进入Azure Active Directory,在「概述」页面确认租户ID是否与Django配置的e01c8511-af06-4cad-9b24-a63b9da7b0fc完全一致,注意排除复制时带入的空格、大小写错误。
  • 检查应用租户类型:如果Azure AD应用注册时选择「单租户」,但请求使用了其他租户的用户身份,会触发该错误。确认应用「支持的账户类型」是否匹配你的使用场景(内部应用选单租户,外部用户选多租户)。
  • 验证租户状态:确认该租户未被注销或暂停,可通过Azure AD「租户设置」查看状态。

针对Request_ResourceNotFound错误的排查

  • 确认用户归属租户:登录Azure AD「用户」列表搜索demotest@tester.com,检查该用户是否存在于你配置的租户中。若用户属于其他租户,需调整应用租户范围或切换多租户配置。
  • 修正用户查询参数:调用Graph API查询用户时,若用邮箱查询需明确使用$filter参数,示例请求:
    GET https://graph.microsoft.com/v1.0/users?$filter=mail eq 'demotest@tester.com'
    
    避免直接将邮箱拼接在URL路径中(除非目标用户的userPrincipalName与邮箱完全一致)。
  • 检查用户状态:确认该用户未被删除、禁用,且已完成首次登录的身份验证流程(如密码重置)。

核心需求(消息发送后在应用显示)的补充配置

  • 确认权限上下文:若使用应用权限,调用邮件API时需指定目标用户ID或userPrincipalName,示例:
    GET https://graph.microsoft.com/v1.0/users/{user-id}/messages
    
    若使用委派权限,需确保当前登录用户拥有访问目标用户邮件的权限(如Mail.Read.Shared),且已获得共享授权。
  • 核对权限范围:确认Azure AD应用已配置Mail.Read/Mail.ReadWrite等所需权限,且管理员同意的权限包含对应范围(如Mail.Read.All用于读取所有用户邮件)。
  • 验证令牌权限:调用https://graph.microsoft.com/v1.0/me或解析令牌内容,确认令牌scp字段包含所需的邮件权限声明。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 08:30:59