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

使用Azure Graph API按ID取用户详情时Email Addresses字段缺失的求助

解决Azure Graph API无法获取B2C用户Email Addresses属性的问题

核心原因

Email Addresses对应Graph API中的emailAddresses字段,属于非默认返回属性,必须显式指定才能获取,同时需要确保权限配置正确。

解决步骤

  1. 确认所需权限

    • 后台服务调用(无用户上下文):需配置User.Read.All或User.ReadWrite.All应用权限,且已完成管理员同意。
    • 用户上下文调用:需配置User.Read委托权限。
  2. 使用$select参数显式指定字段
    默认查询不会返回emailAddresses,必须在请求中通过$select参数明确包含该字段。示例请求:

    GET https://graph.microsoft.com/v1.0/users/{user-id}?$select=id,displayName,emailAddresses
    

    可根据需求添加其他需要的属性,用逗号分隔。

  3. B2C用户属性格式说明
    成功获取后,emailAddresses是一个数组结构,示例响应片段:

    {
    "id": "xxxx-xxxx-xxxx-xxxx",
    "displayName": "Shashank Singh",
    "emailAddresses": [
    {
    "address": "shashank@example.com",
    "name": "Shashank Singh"
    }
    ]
    }

  4. 验证API版本
    确保使用稳定版v1.0的Graph API,beta版本属性可能存在变动,不建议生产环境使用。

  5. 权限生效验证
    可通过Graph Explorer测试请求,确认当前账号/应用已拥有对应权限,避免因权限不足导致字段缺失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 20:41:01