Microsoft graph api 为什么MicrosoftGraph更具限制性?

Microsoft graph api 为什么MicrosoftGraph更具限制性?,microsoft-graph-api,azure-ad-graph-api,Microsoft Graph Api,Azure Ad Graph Api,在outlook中,我可以查找组织中的所有用户,包括电话号码、地址等。 我想使用EWS我也可以这么做。。。 有了Azure AD graph(),我也可以获得所有(GAL)用户的所有(!)属性,而无需选择较小的属性子集 在Microsoft Graph()中,我可以获取所有用户(GAL),但不能获取(所有)属性,如电话号码、标题等。如果没有管理员允许访问…为什么这与其他API不同(限制更多) (八)许可;Directory.AccessAsUser.All(以登录用户身份访问目录) 在Micr

在outlook中,我可以查找组织中的所有用户,包括电话号码、地址等。 我想使用EWS我也可以这么做。。。 有了Azure AD graph(),我也可以获得所有(GAL)用户的所有(!)属性,而无需选择较小的属性子集

在Microsoft Graph()中,我可以获取所有用户(GAL),但不能获取(所有)属性,如电话号码、标题等。如果没有管理员允许访问…为什么这与其他API不同(限制更多)

(八)许可;Directory.AccessAsUser.All(以登录用户身份访问目录)

  • 在Microsoft Graph中,用户无法同意
  • 在Azure广告图中-不需要管理员
使用Microsoft图形中的/me/people(预览中),我可以获得组织中许多用户的所有属性,但不是全部。我可能会得到一些我最近的同事不能使用的用户(为什么?-它仍然有问题吗)


每个人都告诉您使用Microsoft Graph,但它似乎比旧的API更受限制

我很想知道更多关于您所描述的限制性质的信息。在大多数情况下(关于目录/Azure AD),Microsoft Graph公开了与Azure AD Graph相同的权限模型保护的相同数据。有关可用用户权限及其允许内容的更多详细信息,请参阅

在Microsoft Graph中,您可能会看到这样一个事实:当您查询v1.0中设置的/users实体时(即
GEThttps://graph.microsoft.com/v1.0/users
)默认情况下,Microsoft Graph将只返回一组关键的用户属性。
用户
实体类型相当大,并且一直在增长-它有40多个属性和25个导航属性。序列化和反序列化大型对象,特别是当分页集合对于客户端和Microsoft Graph服务来说可能非常昂贵且无法执行时。因此,我们返回一个默认集。如果需要其他属性,则需要使用
$select
参数。例如:
GEThttps://graph.microsoft.com/v1.0/users?$select=displayName、givenName、officeLocation、postalCode、state
。这里有文档记录:例如,我们也正在对这方面的文档进行一些改进。如果要查看Microsoft Graph
user
实体类型公开的完整属性集,请查看此处的模式:$metadata

[注意:$select在Azure AD Graph API中不受支持,因此我们始终返回完整集]

people API-
。/me/people
是关于您(登录用户)最常与之通信的人的,它还可以包含组织外的人。因此,每个用户(甚至是同事)的人员列表可能是特定的、不同的。它也不是组织中用户的完整目录

我还想深入了解为什么您会发现在同意方面存在差异-Directory.AccessAsUser.All始终需要web应用程序的管理员同意(对于Microsoft和Azure AD Graph)


希望这能有所帮助,

我有兴趣了解更多关于您所描述的限制性质的信息。在大多数情况下(关于目录/Azure AD),Microsoft Graph公开了与Azure AD Graph相同的权限模型保护的相同数据。有关可用用户权限及其允许内容的更多详细信息,请参阅

在Microsoft Graph中,您可能会看到这样一个事实:当您查询v1.0中设置的/users实体时(即
GEThttps://graph.microsoft.com/v1.0/users
)默认情况下,Microsoft Graph将只返回一组关键的用户属性。
用户
实体类型相当大,并且一直在增长-它有40多个属性和25个导航属性。序列化和反序列化大型对象,特别是当分页集合对于客户端和Microsoft Graph服务来说可能非常昂贵且无法执行时。因此,我们返回一个默认集。如果需要其他属性,则需要使用
$select
参数。例如:
GEThttps://graph.microsoft.com/v1.0/users?$select=displayName、givenName、officeLocation、postalCode、state
。这里有文档记录:例如,我们也正在对这方面的文档进行一些改进。如果要查看Microsoft Graph
user
实体类型公开的完整属性集,请查看此处的模式:$metadata

[注意:$select在Azure AD Graph API中不受支持,因此我们始终返回完整集]

people API-
。/me/people
是关于您(登录用户)最常与之通信的人的,它还可以包含组织外的人。因此,每个用户(甚至是同事)的人员列表可能是特定的、不同的。它也不是组织中用户的完整目录

我还想深入了解为什么您会发现在同意方面存在差异-Directory.AccessAsUser.All始终需要web应用程序的管理员同意(对于Microsoft和Azure AD Graph)


希望这能有所帮助,

使用这两种图形浏览器,我可以在Azure AD图形浏览器中比在Microsoft图形浏览器中拥有更多的用户和“非空”属性。。。我无法使用Microsoft Graph获取电话号码、职务等。但这些属性已在Azure AD Graph Explorer中填写。。。默认集(包含11个属性)实际上包含我目前需要的所有属性。它返回的信息,在;id、displayName、givenName、mail、姓氏和userprincipalname-而商务电话、jobTitle、mobilePhone、officeLocation(和preferredLangiage)对于所有用户都是空的。我们无论如何都不会使用/people API,但它确实为我们提供了缺少的属性。。。似乎只返回最多1000条记录-但这是真的吗