如何使用 outlook rest image 获取其他用户的个人资料图片 api
how to get profile images of other users using outlook rest image api
我正在尝试构建一个具有 outlook office 365 登录名的小型 Web 应用程序。
所以我能够使用以下 API 获取登录用户的图像:
GET https://outlook.office.com/api/v2.0/me/photo
GET https://outlook.office.com/api/v2.0/Users('{user_id}')/photo
当我通过 user_id
其他用户时,出现以下错误。
{
"error": {
"code": "ErrorAccessDenied",
"message": "Access is denied. Check credentials and try again."
}
}
但是当我在 Azure Sandbox 中做同样的事情时,一切都很顺利。我能够得到所有用户的图像。
我是不是做错了什么?
如有任何帮助,我们将不胜感激。
有几点需要注意:
您通常应该使用 Microsoft Graph 而不是 Outlook REST API。虽然它们在功能上有所重叠,但 Microsoft Graph 是 Microsoft API 前进的核心。您的调用(和授权令牌请求)将非常相似:
GET https://graph.microsoft.com/v1.0/me/photo/$value
GET https://graph.microsoft.com/v1.0/users/{userPrincipalName}/photo/$value
验证用户时,正确使用的术语是"Sign in with Microsoft"。通常使用此图像显示:
您可以在 Branding Guidelines for Application 中找到完整的详细信息。
至于您在此处收到的具体错误,您需要将 User.ReadBasic.All
permission scope 添加到您的授权请求中。我怀疑您目前只要求 User.Read
。这将只允许您访问当前用户的信息。您需要额外的权限才能访问租户中的其他用户。
我正在尝试构建一个具有 outlook office 365 登录名的小型 Web 应用程序。
所以我能够使用以下 API 获取登录用户的图像:
GET https://outlook.office.com/api/v2.0/me/photo
GET https://outlook.office.com/api/v2.0/Users('{user_id}')/photo
当我通过 user_id
其他用户时,出现以下错误。
{
"error": {
"code": "ErrorAccessDenied",
"message": "Access is denied. Check credentials and try again."
}
}
但是当我在 Azure Sandbox 中做同样的事情时,一切都很顺利。我能够得到所有用户的图像。
我是不是做错了什么?
如有任何帮助,我们将不胜感激。
有几点需要注意:
您通常应该使用 Microsoft Graph 而不是 Outlook REST API。虽然它们在功能上有所重叠,但 Microsoft Graph 是 Microsoft API 前进的核心。您的调用(和授权令牌请求)将非常相似:
GET https://graph.microsoft.com/v1.0/me/photo/$value GET https://graph.microsoft.com/v1.0/users/{userPrincipalName}/photo/$value
验证用户时,正确使用的术语是"Sign in with Microsoft"。通常使用此图像显示:
您可以在 Branding Guidelines for Application 中找到完整的详细信息。
至于您在此处收到的具体错误,您需要将 User.ReadBasic.All
permission scope 添加到您的授权请求中。我怀疑您目前只要求 User.Read
。这将只允许您访问当前用户的信息。您需要额外的权限才能访问租户中的其他用户。