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

如何使用Graph API获取手机号?调用/v1.0/me返回手机号为null

解决Graph API /me端点返回mobilePhone为null的问题

我之前也碰到过一模一样的情况——明明个人资料绑定了手机号,调用https://graph.microsoft.com/v1.0/me却拿不到值,大概率是权限配置或者个人账户隐私设置的问题,咱们一步步来排查:

1. 先确认账号本身的可访问性

先通过微软的Graph测试工具登录你的outlook.com账号,直接调用GET https://graph.microsoft.com/v1.0/me:

  • 如果这里返回的mobilePhone还是null,那问题出在你的微软账户隐私设置上:
    去微软账户设置页面,找到隐私相关选项,确保允许第三方应用访问你的手机号信息(个人账户默认可能会隐藏这类敏感信息)。
  • 如果测试工具里能正常返回手机号,那就是你自己的应用权限配置有问题,接着往下看。

2. 检查应用的API权限配置

根据你使用的授权方式,确保权限范围足够:

  • Delegated权限(个人账户常用):必须添加User.Read或者User.ReadBasic.All权限,并且用户在登录时已经同意了这些权限(首次授权会弹出同意窗口)。
    注意:个人账户不支持Application权限的调用,别用Client Credentials流访问/me端点,这种场景必须用用户登录的Delegated流。
  • 如果是工作/学校账号:除了添加User.Read,可能还需要管理员完成权限的同意操作(部分敏感权限需要管理员审批)。

3. 核对返回字段的正确性

你返回的结果里businessPhones是空数组,mobilePhone是null,字段名称是对的——mobilePhone就是存储个人手机号的字段,别和办公电话对应的businessPhones搞混了。

额外提醒

如果是用Application权限访问工作/学校账号的用户信息,不能用/me端点,必须换成/users/{user-id},并且需要User.Read.All的Application权限,同时要确保用户的手机号在Azure AD里是已填充状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:24:07