microsoft-graph-api - Microsoft Graph API - beta/users/{id}/photo 上的 MailboxNotEnabledForRESTAPI 404 错误
问题描述
我正在尝试使用beta/users/{id}/photo
Microsoft Graph API 的 beta 端点获取用户个人资料照片,但出现 404 MailboxNotEnabledForRESTAPI 错误
error: {
code: 'MailboxNotEnabledForRESTAPI',
message: 'REST API is not yet supported for this mailbox.'
...
该错误没有意义,因为我正在尝试访问与邮箱无关的 Azure 广告个人资料图片。
有人会知道我是否遗漏了什么吗?
解决方案
您正在使用的端点说明了有关获取用户图片的以下内容:
注意:尝试获取用户照片时,此操作首先尝试从 Microsoft 365 检索指定的照片。如果该照片在 Microsoft 365 中不可用,API 会尝试从 Azure Active Directory 检索照片。
从历史上看,用户个人资料图片存储在 Exchange 服务器中,显然他们现在也将图像保存在其他地方。
为了检查您的问题,我向没有任何许可证的用户添加了一张图片。并开始在Graph Explorer中尝试请求
- 请求
v1.0/users/upn_here/photo
❌失败ResourceNotFound
->Resource could not be discovered.
- 请求
beta/users/upn_here/photo
✔ 向我提供有关图像的信息(例如尺寸) - 请求
v1.0/users/upn_here/photo/$value
❌失败ResourceNotFound
->Resource could not be discovered.
- 请求
beta/users/upn_here/photo/$value
✔ 给我图像。(我看到我之前上传的图片)。
您应该检查使用的访问令牌,复制令牌并将其粘贴到此处https://jwt.ms(Microsoft 拥有的页面向您显示令牌中的数据)。
根据文档,您至少需要 delegated User.Read
scope 或 application scope User.Read.All
。
推荐阅读
- django - 得到一个 FATAL Exited too faster 错误。主管配置
- unity3d - unity2d 字符 y 位置等于鸟 y 位置
- java - java - 如何在没有jsoup的Java中仅使用正则表达式解析HTML TAG
- angular - ng-packagr npm 安装错误:postinstall `opencollective postinstall`
- javascript - 是否有标准或推荐的方法来使用 JSON 中由冒号分隔的部分值?
- python-3.x - 如何修复'ValueError(“输入必须不止一个句子”)'错误
- node.js - 如何在安装了节点的情况下构建 Docker 映像
- javascript - 使用 Webpack 的 DefinePlugin 动态地需要多个文件?
- node.js - 如何传递 SSL 配置,如信任库位置和密码?
- android - Google 在 ionic 3 或 4 中使用 firebase 登录 - 平台 Android