odata – Office 365 Sharepoint API $skip / $skiptoken功能

浏览Sharepoint API的文档(位于此处:
http://msdn.microsoft.com/en-us/library/office/dn605900(v=office.15).aspx)我试图弄清楚如何选择文档块.我期待$skip可以工作,因为它暗示大多数OData功能应该存在,但这不起作用.我也无法弄清楚$skiptoken是否是一个有效的查询参数.它列在底部附近的文档中(没有进一步说明),但到目前为止我无法哄骗它的正确结果.

如果有人知道$skip或$skiptoken或其他可用于获取分块响应的方法,那么帮助解决这个问题会很棒!

编辑:澄清,像API_URL /文件?$orderby = url& $top = 5的工作,但API_URL /文件?$orderby = url& $skip = 50之类的东西没有.但是,我刚刚在响应中找到了一个“下一个”URL,它似乎提供了服务器端分页支持.我会试着从这里弄清楚使用$skiptoken.

最佳答案 OData V4协议指定(参考
11.2.5.7 Server-Driven Paging):

OData services may use the reserved system query option $skiptoken when building next links. Its content is opaque, service-specific, and must only follow the rules for URL query parts.
OData clients MUST NOT use the system query option $skiptoken when constructing requests.

因此,它发布$skiptoken作为客户端应该用于排除查询集合中的前几个项目的查询选项的O365 SharePoint API的实现违反了协议.客户端应该使用$skip来实现这种情况.但是从你附上的O365规范看来,$skip没有实现.

如果查询O365服务的实体集并且响应有效内容包含下一个链接(响应JSON对象中的@ odata.nextLink批注),则表明该服务具有实体集的服务器端分页.通常,下一个链接是包含$skiptoken查询选项的URL,例如客户端可用于获取下一页的http:// host / service / entityset?$skiptoken = n.

点赞