Azure active directory 在Microsoft Graph API中获取配置文件图片找不到任何内容

Azure active directory 在Microsoft Graph API中获取配置文件图片找不到任何内容,azure-active-directory,microsoft-graph-api,Azure Active Directory,Microsoft Graph Api,我正试图使用获取用户的个人资料图片(理想情况下,如果没有背景,则使用不同颜色背景的备用首字母),但除了404状态和以下正文(令人烦恼的是,延迟5-20秒后),我无法让它响应任何内容: 我甚至试过使用,但效果相同。我已经上传了一张个人资料图片到我自己的帐户,但我仍然得到同样的结果 原因可能是什么?是否有其他方法获取Azure AD用户的配置文件图片?Microsoft Graph v1.0从Exchange Online而不是Azure Active Directory检索用户的配置文件图片。因此

我正试图使用获取用户的个人资料图片(理想情况下,如果没有背景,则使用不同颜色背景的备用首字母),但除了404状态和以下正文(令人烦恼的是,延迟5-20秒后),我无法让它响应任何内容:

我甚至试过使用,但效果相同。我已经上传了一张个人资料图片到我自己的帐户,但我仍然得到同样的结果


原因可能是什么?是否有其他方法获取Azure AD用户的配置文件图片?

Microsoft Graph v1.0从Exchange Online而不是Azure Active Directory检索用户的
配置文件图片。因此,未在Exchange Online中配置邮箱的用户将无法使用
profilePhoto

从:

从Exchange Online访问的用户、组或Outlook联系人的个人资料照片。这是二进制数据,不是用base-64编码的

/beta
端点中,扩展了
profilePhoto
资源以包括Exchange和AAD。从:

从Exchange Online或Azure Active Directory(AAD)访问的用户、组或Outlook联系人的个人资料照片。这是二进制数据,不是用base-64编码的


/v1.0
端点上发布此功能的时间没有ETA,在大多数情况下,我会提醒不要在生产中使用
/beta
功能。但是,我看到一些开发人员使用
/beta
回退选项来获取
配置文件照片
:如果
/v1.0
端点无法返回照片,则随后会调用
/beta
检查是否有可用的AAD图像。这是一种相对安全的beta端点使用方式,因为您的应用程序不会对beta API产生硬依赖

Microsoft Graph v1.0从Exchange Online(而不是Azure Active Directory)检索用户的
profilePhoto
。因此,未在Exchange Online中配置邮箱的用户将无法使用
profilePhoto

从:

从Exchange Online访问的用户、组或Outlook联系人的个人资料照片。这是二进制数据,不是用base-64编码的

/beta
端点中,扩展了
profilePhoto
资源以包括Exchange和AAD。从:

从Exchange Online或Azure Active Directory(AAD)访问的用户、组或Outlook联系人的个人资料照片。这是二进制数据,不是用base-64编码的


/v1.0
端点上发布此功能的时间没有ETA,在大多数情况下,我会提醒不要在生产中使用
/beta
功能。但是,我看到一些开发人员使用
/beta
回退选项来获取
配置文件照片
:如果
/v1.0
端点无法返回照片,则随后会调用
/beta
检查是否有可用的AAD图像。这是一种相对安全的beta端点使用方式,因为您的应用程序不会对beta API产生硬依赖

您正在调用哪个端点(V1与beta)?您为应用程序设置了哪些权限?我最近创建了一个应用程序,它确实成功地读取了配置文件图片。所以可以这样做:)你能分享一些相关的代码吗?我正在使用v1端点,特别是。我已经尝试过激活所有远程发现的与读取用户数据相关的权限,但没有不同的结果。@rickvdbosch同样,我完全能够获得这些权限,所以我怀疑这是权限问题……好的。那么您是直接调用API,还是使用SDK?稍后将共享我的工作代码。我正确调用了API。但我在graph explorer online上得到了相同的结果,我基本上只需打开web UI并单击左侧示例部分中的“我的个人资料照片”。您正在调用哪个端点(V1 vs.beta)?您为应用程序设置了哪些权限?我最近创建了一个应用程序,它确实成功地读取了配置文件图片。所以可以这样做:)你能分享一些相关的代码吗?我正在使用v1端点,特别是。我已经尝试过激活所有远程发现的与读取用户数据相关的权限,但没有不同的结果。@rickvdbosch同样,我完全能够获得这些权限,所以我怀疑这是权限问题……好的。那么您是直接调用API,还是使用SDK?稍后将共享我的工作代码。我正确调用了API。但是我在graph explorer online上得到了相同的结果,我基本上只需打开web UI并单击左侧示例部分中的“我的个人资料照片”。谢谢,这澄清了很多!在我的用例中,没有一个用户设置了邮箱,因此目前没有什么理由为此调用
/1.0
API。由于
/1.0
端点需要约20秒的响应时间,而且我不愿意添加一个昂贵的调用,我知道这会失败,只是为了将来的安全…还有,有没有办法让这个API在没有上传图片时返回备用化身(带有背景颜色的首字母缩写)而不是404?没有,这将是您的应用程序需要处理的事情。有几个软件包提供此功能。举个例子,谢谢,这说明了很多问题!在我的用例中,没有一个用户设置了邮箱,因此目前没有什么理由为此调用
/1.0
API。由于
/1.0
端点需要约20秒的响应时间,而且我不愿意添加一个昂贵的调用,我知道这会失败,只是为了将来的安全…还有,有没有办法让这个API在没有上传图片时返回备用化身(带有背景颜色的首字母缩写)而不是404?没有,这将是你的申请
{
    "error": {
        "code": "ResourceNotFound",
        "message": "Resource could not be discovered.",
        "innerError": {
            "request-id": "1e7f0ca4-2cd4-4602-a903-b0bde1ec8ea0",
            "date": "2018-06-11T14:04:10"
        }
    }
}