Azure active directory 从组织内的用户获取officeLocation

Azure active directory 从组织内的用户获取officeLocation,azure-active-directory,microsoft-graph-api,Azure Active Directory,Microsoft Graph Api,我目前正在尝试使用MS graph api为组织内的用户获取officeLocation字段。我正在使用以下端点: https://graph.microsoft.com/v1.0/users/email@domain.com?$select=department,displayName,jobTitle,mail,officeLocation,usageLocation 但是,officeLocation返回为空。查看文档,似乎我需要Read.All权限,这是一个管理级别的权限。有没有其他方

我目前正在尝试使用MS graph api为组织内的用户获取officeLocation字段。我正在使用以下端点:

https://graph.microsoft.com/v1.0/users/email@domain.com?$select=department,displayName,jobTitle,mail,officeLocation,usageLocation

但是,officeLocation返回为空。查看文档,似乎我需要Read.All权限,这是一个管理级别的权限。有没有其他方法可以在没有管理员许可的情况下获取用户的办公室位置?

我假设您已经请求了范围。这将只允许您的应用程序访问有限的一组基本配置文件属性(
displayName
givenName
姓氏
邮件
照片
,以及
扩展名
)。正如您所发现的,
officeLocation
不包括在基本配置文件属性集中

要检索
officeLocation
,您至少需要
User.Read.All
权限。正如您所指出的,这要求您的应用程序在正常用户同意之前接收


一般来说,访问“其他用户的数据”(除认证用户以外的任何用户)需要租户管理员给予同意

在阅读了你链接到管理员同意的文章后,还有一个问题。它说这个链接通常是管理员遵循的。那么,直接将URL提供给管理员是一种好的/正常的做法,还是在应用程序中有一个处理此问题的流程?我不认为在应用程序中有此功能,因为这是一次性的。这取决于应用程序。大多数人将其作为其入职/部署过程的一部分提供给管理员,因为这通常由it部门处理。对于用户直接安装的小型/本机应用程序,大多数人只是在帮助中包含一些基本说明的链接。太棒了,再次感谢您的快速响应,您已经提供了很大的帮助!伟大的文章,以及!