請原諒我,我對使用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調用迭代,假定這種方式不工作或不實用?
我使用JSON協議與Accept
頭等於application/json;odata=verbose
我猜想$top=100
是不是真的有必要
編輯:我更看它和我這裏沒有完全確定這些條款,但如果您使用SharePoint 2010中引入的方法,則使用$skip
可以正常工作,即,_vti_bin/ListData.svc/<list_name>?$skip=100
其實,有趣的是,舊的方式並沒有設置回報100個項目的限制。所以跳過甚至是不必要的。但是,如果你想只返回數據的某一部分,你必須做一些事情,如:
_vti_bin/ListData.svc/<list_name>?$skip=x&$top=(x+y)
,其中通過每一次循環中,你會碰到這樣的x+=y
你可以使用我上面描述的舊方法,或者查看我的答案,下面是關於如何使用SP2013 OData的解釋如何使用SP2013 OData
如果我想做以前的功能,我怎麼能做到這一點?任何建議? –
由於$ skiptoken是基於ID的,所以在執行服務器端過濾和分頁時,我也要小心。 – Kode