对不起,我对使用REST非常陌生。
目前,我正在使用SP2013 Odata (_api/web/lists/getbytitle('<list_name>')/items?)
来获取列表的内容。该列表中有199个项目,因此我需要调用两次,并每次请求不同的项目集。我认为我可以通过调用以下内容来实现:
_api/web/lists/getbytitle('<list_name>')/items?$skip=100&$top=100
每次更改需要跳过的数量,但问题是它只返回前100个项目。我是否做错了什么或者在 OData 服务中 $skip
已经失效了?
如果这种方式不起作用或不实用,是否有更好的迭代 REST 调用的方法?
我正在使用带有Accept
标头等于application/json;odata=verbose
的 JSon 协议
我想 $top=100
实际上并不必要
编辑:我查阅了更多资料,这里的术语我不能完全确定,但是如果你使用的是 SharePoint 2010 引入的方法,例如 _vti_bin/ListData.svc/<list_name>?$skip=100
,那么使用 $skip
是没问题的。
实际上,有趣的是,旧方法没有设置100项限制以返回结果,因此根本不需要跳过($skip
)。但是,如果您想仅返回特定的数据段,那么需要执行以下操作:
_vti_bin/ListData.svc/<list_name>?$skip=x&$top=(x+y)
每次循环时,您都会有类似于 x+=y
的内容。
您可以使用我上面描述的旧方法,或查看下面的答案,了解如何使用SP2013 OData来实现此操作的说明。