Sharepoint 2013-REST-API-nicht wieder alle Elemente für eine Liste
Den Titel besagt mein problem ziemlich genau. Wenn ich versuche, mich zu sammeln, alle 400+ Elemente aus einer Liste mithilfe von sharepoint-REST-API, bekomme ich nur die ersten 100.
Habe ich gelesen, http://msdn.microsoft.com/en-us/library/office/dn292552(v=office.15).aspx und in das "Arbeiten mit den Listen-Elementen durch die Verwendung von REST-Teil", Sie sind die besagt, dass
Folgende Beispiel zeigt, wie abrufen alle einer Liste der Elemente.
url: http://site url/_api/web/lists/GetByTitle(‘Test')/items
method: GET
headers: ...
Habe ich markiert word alle, denn das ist nicht das, was ich bekomme ...
Bin ich etwas fehlt? Gibt es irgendeine option die ich deaktivieren/aktivieren zu gett wirklich alle Elemente?
Dank
- Konnte Sie Ihren eigenen code? Sind Sie abrufen von Elementen aus der Liste oder von einer bestimmten Ansicht?
- Kein code ist notwendig, um zu sehen, dass ich ' m erhalten nur die ersten 100 Elemente. Ich bekomme nur diese Menge der Elemente, die nur durch den Besuch der URL in meinem browser (also einfach ersetzen Sie die Website-url und Test in der
http://site url/_api/web/lists/GetByTitle(‘Test')/items
mit meinen eigenen Werten und ich bekomme XML mit diese 100 Artikel) - kein code ist nötig, um das Ergebnis zu sehen, aber code notwendig sein könnten, um zu verstehen, warum 😉
- (re-Lektüre meine Antwort ... es könnte schon der Klang ein wenig beleidigend, sorry :P) Naja ... dann bin ich bisschen verwirrt. Ich habe nicht wirklich ein code für es. Ich habe einfach eine GET-Anforderung in der powershell mit diesen Headern
$req.headers.add("X-FORMS_BASED_AUTH_ACCEPTED", "f")
,$req.method = "GET"
und$req.Credentials = [system.net.credentialcache]::defaultcredentials
, das ist ziemlich viel es. - Ich verstehen Sie, ich war eigentlich bezogen auf die REST-url selbst. Es scheint, dass Sie mit Listen und Ansichten nicht.
- ... ja ...? Ich weiß wirklich nicht den Unterschied zwischen den beiden, da bin ich ziemlich neu in sharepoint. Jeder Tipp, wie man wandeln Sie diese Liste in eine view?
- Die URL selbst sieht aus wie https://$DOMAIN/$SITE/_api/web/Lists/getByTitle('$LISTE')/Items
- Dieser Kerl hatte ein ähnliches problem, während versuchen, um eine Liste der Websites und löste es durch die Rückkehr Chargen: stackoverflow.com/questions/45025996/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist die Verjährung aufgrund von server side paging.
Eine Problemumgehung zum abrufen von 100 items gleichzeitig, oder überschreiben Sie die Einschränkung durch die Eingabe einer Anzahl von Elementen:
https://$DOMAIN/$SITE/_api/web/Lists/getByTitle('$LIST')/Items?$top=1000
Beachten Sie, dass es auch eine Schwelle, ab der 5000.
Hinzufügen Christophe ist Antwort würde ich sagen, mit der Auflistung aller (potenziell 5000) Einträge in einer Liste und analysieren Sie würde dazu führen, dass Leistung Probleme.
Wenn Sie die Abfrage für sharepoint, um alle Elemente in einer bestimmten Liste würde es nur ausdrucken, die ersten 100. Aber die xml-Antwort enthält auch die url-Abfrage für die nächsten 100 Einträge.
Ganz am Ende der xml-Antwort, die Sie werden sehen, dass ein tag wie dieser
Die url innerhalb
href="...."
ist, was Sie brauchen.Abfragen der oben genannten wäre Sie mit einer Liste der nächsten 100 oder weniger Elemente.
Wenn es noch weitere Elemente, die Links diese xml-Antwort würde wiederum eine andere
<link >
tag und wenn nicht dieser tag nicht vorhanden ist.Besser zu handhaben 5000 Elemente, die in Mengen von 100, anstatt Sie alle zusammen meiner Meinung nach.
Können Sie RowLimit & RowsPerPage in Ruhe anrufen. Unten ist das Beispiel
Jedermann jetzt sehen dies, können Sie
data.d.__next
um die nächsten 100 Einträge. Mit einigen guten alten Rekursion, können Sie erhalten Sie alle Artikel wie soJS: