从Microsoft Graph统一OData端点

时间:2016-02-12 14:17:57

标签: odata office365 office365api microsoft-graph

  1. 如何计算MicrosoftGraph的EntitySet中的项目数,例如“用户”或“组”?我试过了:

  2. 同样在目标“microsoft.graph.directoryObject”的注释中,这些是基于我的EntitySets,我看到它是Selectable = false,Countable = false ...

    1. $ skip会在“用户”或其他顶级EntitySet项目(https://graph.microsoft.com/v1.0/groups?$ skip = 5)上有效吗?它可用于其他项目(https://graph.microsoft.com/v1.0/me/contacts?$ skip = 5)。我知道$ skipToken,但它不一样。

    2. 如果属性可以排序,我可以在$ metadata中找到某个位置吗?例如,user.displayName是可排序的,但user.mail或user.givenName不是。这在$ metadata中很方便。是否有计划将此引入$元数据?

    3. 订购此公式中的DESC https://graph.microsoft.com/v1.0/users?$ orderBy = displayName%20desc 被忽略,它显示订购ASC的项目,我做错了吗?

      < / LI>

2 个答案:

答案 0 :(得分:0)

我知道的帮助不大,但是如果您进行了一个获得Collection的API调用,您可以使用第一个问题中给出的第二个表单来计算。例如:

https://graph.microsoft.com/v1.0/users/<id>/events/ $计数

返回计数(在我的情况下为6,而不是在JSON中 - 返回的数据实际上是“\ x {ef} \ x {bb} \ x {bf} 6”(在Perl格式化中))。如果我们使用?作为最后一个分隔符(这是http://graph.microsoft.io/en-us/docs/overview/query_parameters似乎表明我们应该表示我们应该使用此URL):

https://graph.microsoft.com/v1.0/users/<id>/events?$计数

我只是像你一样得到没有计数的事件列表。

所以这似乎表明了两件事:

a)$ count似乎不作为查询参数,尽管文档和OData标准说它应该,

b)API中似乎存在一个用于处理EntitySets的错误,而这些错误不适用于收集。

抱歉,我无法提供更多帮助,但至少它的另一个数据点(我刚刚解开同样的事情,这就是我注意到这个StackOverflow帖子的原因!)

答案 1 :(得分:0)

广告1. https://graph.microsoft.com/v1.0/users/ $ count是正确的OData语法(http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part2-url-conventions/odata-v4.0-errata02-os-part2-url-conventions-complete.html#_Toc406398087),但如元数据目录中所示,对象集合目前不可数。 ODataV4还允许查询参数中的$ count(http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part2-url-conventions/odata-v4.0-errata02-os-part2-url-conventions-complete.html#_Toc406398166),但是应该使用true或false值指定(例如https://graph.microsoft.com/v1.0/me/events?$ count = true)并且响应将包括集合及其计算@ odata.count属性。这对于directoryObject集合也不再支持。

广告2.现在没有计划支持$ skip for directoryObject集合。

广告3.是的,我们计划使用OData功能词汇表(http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/vocabularies/Org.OData.Capabilities.V1.xml)中定义的SortRestrictions注释来指示哪些属性可以按元数据排序

广告4.您的请求是正确的,但我们只支持按升序对displayName进行排序。