Saltar al contenido

La API REST de Sharepoint 2013 no devuelve todos los elementos de una lista

Haz todo lo posible por interpretar el código de forma correcta previamente a aplicarlo a tu proyecto y si ttienes algo que aportar puedes compartirlo con nosotros.

Solución:

La limitación se debe a la paginación del lado del servidor.

Una solución consiste en recuperar 100 elementos a la vez o anular la limitación ingresando un recuento de elementos:

https://$DOMAIN/$SITE/_api/web/Lists/getByTitle('$LIST')/Items?$top=1000

Tenga en cuenta que también hay un umbral en 5000.

Puede usar RowLimit y RowsPerPage en la llamada de descanso. A continuación se muestra el ejemplo

$.ajax({
url: siteurl + "/_api/web/lists/getbytitle('NewList')/items",
method: "GET",
headers:  "Accept": "application/json; odata=verbose" ,
RowLimit : null, //Specify the row limit
RowsPerPage : null, //Specify no of rows in a page
success: function (data) 
     $('#oDataFilter').append("");
     $.each(data.d.results, function(index, item)
         $('#oDataFilter').append("");
     );
     $('#oDataFilter').append("
" + item.ID + ""+ item.Title + "
"); , error: function (error) alert('Error getListItems :: '+JSON.stringify(error));

Agregando a la respuesta de Christophe, diría que enumerar todos los elementos (potencialmente 5000) en una lista y analizarlos daría lugar a problemas de rendimiento.

Si consulta Sharepoint para mostrar todos los elementos en una lista en particular, solo imprimirá los primeros 100. Pero la respuesta xml también proporciona la URL para consultar los siguientes 100 elementos de la lista.

Al final de la respuesta xml, verá una etiqueta como esta


La URL dentro href="...."es lo que necesitarás.

Consultar lo anterior le proporcionaría una lista de los siguientes 100 elementos o menos. Si aún quedan más elementos, esta respuesta xml a su vez proporcionaría otra etiqueta y si no, esta etiqueta no existirá.

En mi opinión, es mejor manejar 5000 artículos en conjuntos de 100 en lugar de todos juntos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *