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

同样在目标“microsoft.graph.directoryObject”的注释中,这些实体集基于我看到它是 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 中会很方便。有计划将其引入 $metadata 吗?

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

4

2 回答 2

0

我知道帮助不大,但是如果您执行获取 Collection 的 API 调用,您可以使用您在第一个问题中提供的第二种形式获得计数。例如:

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

返回计数(在我的情况下为 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 ?$count

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

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

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

b) 处理 EntitySets 的 API 中似乎存在一个错误,而 Collections 不存在该错误。

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

于 2016-02-15T17:52:21.017 回答
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),但是应该用真值或假值指定它(例如https://graph.microsoft.com/v1.0/me/events?$count=true) 并且响应将在 @odata.count 属性中包含集合及其计数。directoryObject 集合再次不支持此功能。

广告 2. 目前没有计划为 directoryObject 集合支持 $skip。

广告 3. 是的,我们计划使用在 OData 功能词汇表 ( http://docs.oasis-open.org/odata/odata/v4.0/errata02/os /complete/vocabularies/Org.OData.Capabilities.V1.xml )

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

于 2016-02-19T03:56:18.950 回答