对于我的一个仪表板,我想向用户显示他们的个人资料图片,以显示个性化原因,并为他们提供更改它的可能性。
Microsoft Docs网站上的大多数博客文章和文章都列出了我可以用来获取这些数据的各种端点,但我只是无法通过简单的邮递员调用来实现这一点。由于我甚至无法获得照片,我也不知道如何改变(更新)它。
以下端点不起作用:
GET https://graph.microsoft.com/beta/users/{id}/photo/$value
GET https://graph.microsoft.com/beta/users/{id}/photo
GET https://graph.windows.net/myorganization/users/{id}/photo?api-version=1.6
GET https://graph.windows.net/myorganization/users/{id}/photo/$value?api-version=1.6
所有这些都导致json响应中不存在“资源'照片'或'内部服务器错误'。
注意:我可以查询图形api完全适用于其他资源。
如果是最新的Graph API。确保在GraphScope的应用程序项目配置中设置了正确的permission:
对于用户资源:User.Read.All,User.ReadWrite.All
对于组资源:Group.Read.All,Group.ReadWrite.All
对于联系人资源:Contacts.Read,Contacts.ReadWrite
update photo的一些提示:
版本1.0中的更新操作仅支持用户的工作或学校邮箱,而不支持个人邮箱。
因为您运行Azure B2C租户用户,所以您必须使用Azure AD Graph API(api 1.6),但最新的Graph API。在Azure Graph API中,没有照片属性,但我们可以get / set缩略图照片。
对于遇到与B2C相同问题的任何人,请尝试使用“thumbnailPhoto”端点。这对我有用(特别是GET方法)。
https://graph.windows.net/[tenant]/users/[objectid]/thumbnailPhoto?api-version=1.6