Trabajar con listas y elementos de lista mediante REST

Sugerencia

El servicio REST de SharePoint Online (y SharePoint 2016 local y versiones posteriores) admite la combinación de varias solicitudes en una sola llamada al servicio mediante la opción de consulta OData $batch . Para obtener información detallada y vínculos a los ejemplos de código, vea Realizar solicitudes de lote con las API de REST.

Requisitos previos

En este tema se supone que ya está familiarizado con los temas Conocer el servicio REST de SharePoint y Completar operaciones básicas con puntos de conexión REST de SharePoint. No proporciona fragmentos de código.

Recuperar listas y propiedades de listas con REST

En el siguiente ejemplo se muestra cómo recuperar una lista concreta si se conoce su GUID.

GET https://{site_url}/_api/web/lists(guid'{list_guid}')
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"

Nota:

Use application/json;odata=verbose en el encabezado Accept si quiere la respuesta en JSON.

Use application/atom+xml en el encabezado Accept si quiere que la respuesta esté en formato Atom.

En el siguiente ejemplo se muestra cómo recuperar una lista concreta si se conoce su título.

GET https://{site_url}/_api/web/lists/GetByTitle('List Title')
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"

En el siguiente XML se muestra un ejemplo de las propiedades de lista que se devuelven cuando se solicita el tipo de contenido XML.

<content type="application/xml">
  <m:properties>
    <d:AllowContentTypes m:type="Edm.Boolean">true</d:AllowContentTypes>
    <d:BaseTemplate m:type="Edm.Int32">100</d:BaseTemplate>
    <d:BaseType m:type="Edm.Int32">0</d:BaseType>
    <d:ContentTypesEnabled m:type="Edm.Boolean">false</d:ContentTypesEnabled>
    <d:Created m:type="Edm.DateTime">2012-06-26T23:15:58Z</d:Created>
    <d:DefaultContentApprovalWorkflowId m:type="Edm.Guid">00000000-0000-0000-0000-000000000000</d:DefaultContentApprovalWorkflowId>
    <d:Description>A list created by Project Based Retention used to store Project Policy Items.</d:Description>
    <d:Direction>none</d:Direction>
    <d:DocumentTemplateUrl m:null="true" />
    <d:DraftVersionVisibility m:type="Edm.Int32">0</d:DraftVersionVisibility>
    <d:EnableAttachments m:type="Edm.Boolean">true</d:EnableAttachments>
    <d:EnableFolderCreation m:type="Edm.Boolean">false</d:EnableFolderCreation>
    <d:EnableMinorVersions m:type="Edm.Boolean">false</d:EnableMinorVersions>
    <d:EnableModeration m:type="Edm.Boolean">false</d:EnableModeration>
    <d:EnableVersioning m:type="Edm.Boolean">false</d:EnableVersioning>
    <d:EntityTypeName>ProjectPolicyItemList</d:EntityTypeName>
    <d:ForceCheckout m:type="Edm.Boolean">false</d:ForceCheckout>
    <d:HasExternalDataSource m:type="Edm.Boolean">false</d:HasExternalDataSource>
    <d:Hidden m:type="Edm.Boolean">true</d:Hidden>
    <d:Id m:type="Edm.Guid">74de3ff3-029c-42f9-bd2a-1e9463def69d</d:Id>
    <d:ImageUrl>/_layouts/15/images/itgen.gif</d:ImageUrl>
    <d:IrmEnabled m:type="Edm.Boolean">false</d:IrmEnabled>
    <d:IrmExpire m:type="Edm.Boolean">false</d:IrmExpire>
    <d:IrmReject m:type="Edm.Boolean">false</d:IrmReject>
    <d:IsApplicationList m:type="Edm.Boolean">false</d:IsApplicationList>
    <d:IsCatalog m:type="Edm.Boolean">false</d:IsCatalog>
    <d:IsPrivate m:type="Edm.Boolean">false</d:IsPrivate>
    <d:ItemCount m:type="Edm.Int32">0</d:ItemCount>
    <d:LastItemDeletedDate m:type="Edm.DateTime">2012-06-26T23:15:58Z</d:LastItemDeletedDate>
    <d:LastItemModifiedDate m:type="Edm.DateTime">2012-06-26T23:15:59Z</d:LastItemModifiedDate>
    <d:ListItemEntityTypeFullName>SP.Data.ProjectPolicyItemListItem</d:ListItemEntityTypeFullName>
    <d:MultipleDataList m:type="Edm.Boolean">false</d:MultipleDataList>
    <d:NoCrawl m:type="Edm.Boolean">true</d:NoCrawl>
    <d:ParentWebUrl>/</d:ParentWebUrl>
    <d:ServerTemplateCanCreateFolders m:type="Edm.Boolean">true</d:ServerTemplateCanCreateFolders>
    <d:TemplateFeatureId m:type="Edm.Guid">00bfea71-de22-43b2-a848-c05709900100</d:TemplateFeatureId>
    <d:Title>Project Policy Item List</d:Title>
  </m:properties>
</content>

Nota:

La propiedad ListItemEntityTypeFullName (SP.Data.ProjectPolicyItemListItem en el ejemplo anterior) es especialmente importante si desea crear y actualizar elementos de lista. Siempre que se creen y actualicen elementos de lista, este valor se debe transmitir como propiedad type en los metadatos que aparezcan en el cuerpo de la solicitud HTTP.

Trabajar con listas mediante REST

En el siguiente ejemplo se muestra cómo crear una lista.

POST https://{site_url}/_api/web/lists
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Content-Type: "application/json"
Content-Length: {length of request body as integer}
X-RequestDigest: "{form_digest_value}"

{
  "__metadata": {
    "type": "SP.List"
  },
  "AllowContentTypes": true,
  "BaseTemplate": 100,
 "ContentTypesEnabled": true,
 "Description": "My list description",
 "Title": "Test"
}

En el siguiente ejemplo se muestra cómo actualizar una lista con el método MERGE.

POST https://{site_url}/_api/web/lists(guid'{list_guid}')
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Content-Type: "application/json"
Content-Length: {length of request body as integer}
If-Match: "{etag or *}"
X-HTTP-Method: "MERGE"
X-RequestDigest: "{form_digest_value}"

{
  "__metadata": {
    "type": "SP.List"
  },
  "Title": "New title"
}

En el siguiente ejemplo se muestra cómo crear un campo personalizado para una lista.

POST https://{site_url}/_api/web/lists(guid'{list_guid}')/Fields
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Content-Type: "application/json"
Content-Length: {length of request body as integer}
X-RequestDigest: "{form_digest_value}"

{
  "__metadata": {
    "type": "SP.Field"
  },
  "Title": "field title",
  "FieldTypeKind": FieldType value,
  "Required": "true/false",
  "EnforceUniqueValues": "true/false",
  "StaticName": "field name"
}

En el siguiente ejemplo se muestra cómo eliminar una lista.

POST https://{site_url}/_api/web/lists(guid'{list_guid}')
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
If-Match: "{etag or *}"
X-HTTP-Method: "DELETE"
X-RequestDigest: "{form_digest_value}"

Cambios de columna de búsqueda

Al hacer referencia a una columna de búsqueda en una lista con las API de REST, use el nombre para mostrar de la columna de búsqueda en lugar del nombre interno.

GET https://{site_url}/_api/web/lists/getbytitle('ListName')/Items?&$filter=LookupColumnId eq 1
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"

Trabajar con elementos de lista mediante REST

Recuperar todos los elementos de lista

En el siguiente ejemplo se muestra cómo recuperar todos los elementos de una lista.

Nota:

  • El parámetro de consulta OData $skip no funciona al consultar elementos de lista. En muchas situaciones, puede usar la opción $skiptoken en su lugar.
  • De forma predeterminada, esto devolverá los 100 primeros elementos. Para obtener más información sobre cómo controlar el número de elementos, la paginación, etc., vea la documentación de Operaciones de consulta de OData
GET https://{site_url}/_api/web/lists/GetByTitle('Test')/items
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"

Recuperar un elemento de lista concreto

En el siguiente ejemplo se muestra cómo recuperar un elemento de lista concreto

GET https://{site_url}/_api/web/lists/GetByTitle('Test')/items({item_id})
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"

En el XML siguiente se muestra un ejemplo de las propiedades de elemento de lista que se devuelven cuando se solicita el tipo de contenido XML.

<content type="application/xml">
  <m:properties>
    <d:FileSystemObjectType m:type="Edm.Int32">0</d:FileSystemObjectType>
    <d:Id m:type="Edm.Int32">1</d:Id>
    <d:ID m:type="Edm.Int32">1</d:ID>
    <d:ContentTypeId>0x010049564F321A0F0543BA8C6303316C8C0F</d:ContentTypeId>
    <d:Title>an item</d:Title>
    <d:Modified m:type="Edm.DateTime">2012-07-24T22:47:26Z</d:Modified>
    <d:Created m:type="Edm.DateTime">2012-07-24T22:47:26Z</d:Created>
    <d:AuthorId m:type="Edm.Int32">11</d:AuthorId>
    <d:EditorId m:type="Edm.Int32">11</d:EditorId>
    <d:OData__UIVersionString>1.0</d:OData__UIVersionString>
    <d:Attachments m:type="Edm.Boolean">false</d:Attachments>
    <d:GUID m:type="Edm.Guid">eb6850c5-9a30-4636-b282-234eda8b1057</d:GUID>
  </m:properties>
</content>

Recuperar elementos como una secuencia

Recupera información sobre la lista y sus datos. Con esta API puede recuperar elementos de lista si usa campos complejos, como búsquedas o metadatos administrados.

POST https://{site_url}/_api/web/GetList(@listUrl)/RenderListDataAsStream?@listUrl=%27%2Fsites%2Fteam-a%2Flists%2FList%27
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=nometadata"
Content-Type: "application/json;odata=nometadata"

{
  "parameters": {
    "AddRequiredFields": "true",
    "DatesInUtc": "true",
    "RenderOptions": 17
  }
}

Parámetros URI RenderListDataAsStream

Las propiedades siguientes se pueden agregar como parámetros de la cadena de consulta para manipular los datos devueltos.

Propiedad Descripción Tipo Ejemplo
CascDelWarnMessage Especifica si se debe mostrar un mensaje en caso de que haya una advertencia de eliminación en cascada. número 1
DrillDown Especifica que algunos grupos de una vista agrupada se expanden. Se usa con GroupString. cadenas
GroupString Identificador de grupo que se usa para la característica de explorar en profundidad. cadenas
HasOverrideSelectCommand Se usa para garantizar que existen campos específicos para el correcto funcionamiento del control ListView de SharePoint. string
Field Especifica un campo especial que debe incluirse. string
FieldInternalName Se usa para identificar un campo cuando una lista tiene un origen de datos externo. También se usa al filtrar en un campo personalizado. string
Filter Especifica si la vista solicitada debe tener un filtro aplicado. string
FilterData Datos especificados por un filtro concreto. string
FilterData1 Datos especificados por un filtro concreto. string
FilterData2 Datos especificados por un filtro concreto. string
FilterData3 Datos especificados por un filtro concreto. string
FilterData4 Datos especificados por un filtro concreto. string
FilterData5 Datos especificados por un filtro concreto. string
FilterData6 Datos especificados por un filtro concreto. string
FilterData7 Datos especificados por un filtro concreto. string
FilterData8 Datos especificados por un filtro concreto. string
FilterData9 Datos especificados por un filtro concreto. string
FilterData10 Datos especificados por un filtro concreto. string
FilterField Nombre de campo de filtro para un filtro específico aplicado a la vista. string
FilterField1 Nombre de campo de filtro para un filtro específico aplicado a la vista. string ID
FilterField2 Nombre de campo de filtro para un filtro específico aplicado a la vista. string ID
FilterField3 Nombre de campo de filtro para un filtro específico aplicado a la vista. string ID
FilterField4 Nombre de campo de filtro para un filtro específico aplicado a la vista. string ID
FilterField5 Nombre de campo de filtro para un filtro específico aplicado a la vista. string ID
FilterField6 Nombre de campo de filtro para un filtro específico aplicado a la vista. string ID
FilterField7 Nombre de campo de filtro para un filtro específico aplicado a la vista. string ID
FilterField8 Nombre de campo de filtro para un filtro específico aplicado a la vista. string ID
FilterField9 Nombre de campo de filtro para un filtro específico aplicado a la vista. string ID
FilterField10 Nombre de campo de filtro para un filtro específico aplicado a la vista. string ID
FilterFields Especifica varios campos que se filtran para un filtro multiplicador. string
FilterFields1 Especifica varios campos que se filtran para un filtro multiplicador. string
FilterFields2 Especifica varios campos que se filtran para un filtro multiplicador. string
FilterFields3 Especifica varios campos que se filtran para un filtro multiplicador. string
FilterFields4 Especifica varios campos que se filtran para un filtro multiplicador. string
FilterFields5 Especifica varios campos que se filtran para un filtro multiplicador. string
FilterFields6 Especifica varios campos que se filtran para un filtro multiplicador. string
FilterFields7 Especifica varios campos que se filtran para un filtro multiplicador. string
FilterFields8 Especifica varios campos que se filtran para un filtro multiplicador. string
FilterFields9 Especifica varios campos que se filtran para un filtro multiplicador. string
FilterFields10 Especifica varios campos que se filtran para un filtro multiplicador. string
FilterValue Valor de filtro asociado a un filtro concreto. Por ejemplo, FilterField3 se corresponde con FilterValue3, etc. cadenas
FilterValue1 Valor de filtro asociado a un filtro concreto. Por ejemplo, FilterField3 se corresponde con FilterValue3, etc. cadenas 1
FilterValue2 Valor de filtro asociado a un filtro concreto. Por ejemplo, FilterField3 se corresponde con FilterValue3, etc. cadenas 1
FilterValue3 Valor de filtro asociado a un filtro concreto. Por ejemplo, FilterField3 se corresponde con FilterValue3, etc. cadenas 1
FilterValue4 Valor de filtro asociado a un filtro concreto. Por ejemplo, FilterField3 se corresponde con FilterValue3, etc. cadenas 1
FilterValue5 Valor de filtro asociado a un filtro concreto. Por ejemplo, FilterField3 se corresponde con FilterValue3, etc. cadenas 1
FilterValue6 Valor de filtro asociado a un filtro concreto. Por ejemplo, FilterField3 se corresponde con FilterValue3, etc. cadenas 1
FilterValue7 Valor de filtro asociado a un filtro concreto. Por ejemplo, FilterField3 se corresponde con FilterValue3, etc. cadenas 1
FilterValue8 Valor de filtro asociado a un filtro concreto. Por ejemplo, FilterField3 se corresponde con FilterValue3, etc. cadenas 1
FilterValue9 Valor de filtro asociado a un filtro concreto. Por ejemplo, FilterField3 se corresponde con FilterValue3, etc. cadenas 1
FilterValue10 Valor de filtro asociado a un filtro concreto. Por ejemplo, FilterField3 se corresponde con FilterValue3, etc. cadenas 1
FilterValues Se usa con FilterFields para un filtro multiplicador. Por ejemplo, FilterFields3 se corresponde con FilterValues3, etc. cadenas
FilterValues1 Se usa con FilterFields para un filtro multiplicador. Por ejemplo, FilterFields3 se corresponde con FilterValues3, etc. cadenas
FilterValues2 Se usa con FilterFields para un filtro multiplicador. Por ejemplo, FilterFields3 se corresponde con FilterValues3, etc. cadenas
FilterValues3 Se usa con FilterFields para un filtro multiplicador. Por ejemplo, FilterFields3 se corresponde con FilterValues3, etc. cadenas
FilterValues4 Se usa con FilterFields para un filtro multiplicador. Por ejemplo, FilterFields3 se corresponde con FilterValues3, etc. cadenas
FilterValues5 Se usa con FilterFields para un filtro multiplicador. Por ejemplo, FilterFields3 se corresponde con FilterValues3, etc. cadenas
FilterValues6 Se usa con FilterFields para un filtro multiplicador. Por ejemplo, FilterFields3 se corresponde con FilterValues3, etc. cadenas
FilterValues7 Se usa con FilterFields para un filtro multiplicador. Por ejemplo, FilterFields3 se corresponde con FilterValues3, etc. cadenas
FilterValues8 Se usa con FilterFields para un filtro multiplicador. Por ejemplo, FilterFields3 se corresponde con FilterValues3, etc. cadenas
FilterValues9 Se usa con FilterFields para un filtro multiplicador. Por ejemplo, FilterFields3 se corresponde con FilterValues3, etc. cadenas
FilterValues10 Se usa con FilterFields para un filtro multiplicador. Por ejemplo, FilterFields3 se corresponde con FilterValues3, etc. string
FilterLookupId Se usa al filtrar en un campo de búsqueda. Este es el identificador de elemento de la lista externa que tiene un valor que se está filtrando. string
FilterLookupId1 Se usa al filtrar en un campo de búsqueda. Este es el identificador de elemento de la lista externa que tiene un valor que se está filtrando. string
FilterLookupId2 Se usa al filtrar en un campo de búsqueda. Este es el identificador de elemento de la lista externa que tiene un valor que se está filtrando. string
FilterLookupId3 Se usa al filtrar en un campo de búsqueda. Este es el identificador de elemento de la lista externa que tiene un valor que se está filtrando. string
FilterLookupId4 Se usa al filtrar en un campo de búsqueda. Este es el identificador de elemento de la lista externa que tiene un valor que se está filtrando. string
FilterLookupId5 Se usa al filtrar en un campo de búsqueda. Este es el identificador de elemento de la lista externa que tiene un valor que se está filtrando. string
FilterLookupId6 Se usa al filtrar en un campo de búsqueda. Este es el identificador de elemento de la lista externa que tiene un valor que se está filtrando. string
FilterLookupId7 Se usa al filtrar en un campo de búsqueda. Este es el identificador de elemento de la lista externa que tiene un valor que se está filtrando. string
FilterLookupId8 Se usa al filtrar en un campo de búsqueda. Este es el identificador de elemento de la lista externa que tiene un valor que se está filtrando. string
FilterLookupId9 Se usa al filtrar en un campo de búsqueda. Este es el identificador de elemento de la lista externa que tiene un valor que se está filtrando. string
FilterLookupId10 Se usa al filtrar en un campo de búsqueda. Este es el identificador de elemento de la lista externa que tiene un valor que se está filtrando. string
FilterOnly string
FilterOp Operador de filtro. Se usa al filtrar con operadores que no sean Eq (Geq, Leq, etc.). string Geq
FilterOp1 Operador de filtro. Se usa al filtrar con operadores que no sean Eq (Geq, Leq, etc.). string Geq
FilterOp2 Operador de filtro. Se usa al filtrar con operadores que no sean Eq (Geq, Leq, etc.). string Geq
FilterOp3 Operador de filtro. Se usa al filtrar con operadores que no sean Eq (Geq, Leq, etc.). string Geq
FilterOp4 Operador de filtro. Se usa al filtrar con operadores que no sean Eq (Geq, Leq, etc.). string Geq
FilterOp5 Operador de filtro. Se usa al filtrar con operadores que no sean Eq (Geq, Leq, etc.). string Geq
FilterOp6 Operador de filtro. Se usa al filtrar con operadores que no sean Eq (Geq, Leq, etc.). string Geq
FilterOp7 Operador de filtro. Se usa al filtrar con operadores que no sean Eq (Geq, Leq, etc.). string Geq
FilterOp8 Operador de filtro. Se usa al filtrar con operadores que no sean Eq (Geq, Leq, etc.). string Geq
FilterOp9 Operador de filtro. Se usa al filtrar con operadores que no sean Eq (Geq, Leq, etc.). string Geq
FilterOp10 Operador de filtro. Se usa al filtrar con operadores que no sean Eq (Geq, Leq, etc.). cadenas Geq
ID Identificador del elemento cuya información se está buscando. number
InplaceSearchQuery Término de búsqueda para una búsqueda de lista completa. cadenas
InplaceFullListSearch Valor booleano que especifica si existe una búsqueda de lista completa. cadenas
IsCSR Indica si es una vista con representación del lado cliente. string
CustomAction string
IsGroupRender Se usa para establecer la propiedad IsGroupRender de SPView. string
IsRibbon string
IsXslView Indica si es una vista de lista xslt. string
List string
ListId string
ListViewPageUrl string
OverrideScope Se usa para invalidar un ámbito de la vista representada: SPView.Scope. string
OverrideSelectCommand Se usa para asegurarse de que determinados campos están presentes en la consulta independientemente de si están incluidos de manera explícita en la vista. cadenas
PageFirstRow Información de paginación sobre la primera fila que se ha solicitado. Se usa para paginar vistas de lista. string
PageLastRow Información de paginación sobre la última fila que se ha solicitado. Se usa para paginar vistas de lista. string
RootFolder Carpeta mostrada por la vista. string
SortField Campo según el cual debe ordenarse la vista. string ID
SortField1 Campo según el cual debe ordenarse la vista. string ID
SortField2 Campo según el cual debe ordenarse la vista. string ID
SortField3 Campo según el cual debe ordenarse la vista. string ID
SortField4 Campo según el cual debe ordenarse la vista. string ID
SortField5 Campo según el cual debe ordenarse la vista. string ID
SortField6 Campo según el cual debe ordenarse la vista. string ID
SortField7 Campo según el cual debe ordenarse la vista. string ID
SortField8 Campo según el cual debe ordenarse la vista. string ID
SortField9 Campo según el cual debe ordenarse la vista. string ID
SortField10 Campo según el cual debe ordenarse la vista. string ID
SortFields Especifica el nombre del primer campo según el cual se debe ordenar. string
SortFieldValues Especifica el nombre del primer campo según el cual se debe ordenar. string
SortDir Dirección de ordenación de una ordenación ad hoc que se aplica a la vista. string Desc
SortDir1 Dirección de ordenación de una ordenación ad hoc que se aplica a la vista. string Desc
SortDir2 Dirección de ordenación de una ordenación ad hoc que se aplica a la vista. string Desc
SortDir3 Dirección de ordenación de una ordenación ad hoc que se aplica a la vista. string Desc
SortDir4 Dirección de ordenación de una ordenación ad hoc que se aplica a la vista. string Desc
SortDir5 Dirección de ordenación de una ordenación ad hoc que se aplica a la vista. string Desc
SortDir6 Dirección de ordenación de una ordenación ad hoc que se aplica a la vista. string Desc
SortDir7 Dirección de ordenación de una ordenación ad hoc que se aplica a la vista. string Desc
SortDir8 Dirección de ordenación de una ordenación ad hoc que se aplica a la vista. string Desc
SortDir9 Dirección de ordenación de una ordenación ad hoc que se aplica a la vista. string Desc
SortDir10 Dirección de ordenación de una ordenación ad hoc que se aplica a la vista. string Desc
View Especifica la vista base que se usará para representar la lista. GUID 3d13559e-3071-5000-76b8-8f1ca6b835f0
ViewPath Especifica la ruta de la vista que se usará para representar la lista. Si se indica ViewId, se usará ViewId y se omitirá este parámetro. cadenas
ViewCount Cuando hay varias vistas de lista en una página, identifica una de ellas. string
ViewId Especifica la vista base que se usará para representar la lista. Los parámetros ad hoc se aplicarán sobre esta vista. Si se indican ViewXml y BaseViewId, se usará ViewXml y se omitirán estos parámetros ad hoc. cadenas
WebPartId Identificador del elemento web de vista de lista que se muestra en esta vista. cadenas

Propiedades de parámetro de cuerpo de RenderListDataAsStream

Propiedad Descripción Tipo Ejemplo
AddRequiredFields Especifica si se deben devolver campos obligatorios. bool true
AllowMultipleValueFilterForTaxonomyFields Especifica si se permite el filtrado de varios valores para campos de taxonomía. bool true
DatesInUtc Especifica si el campo DateTime se devuelve en UTC o en hora local. bool true
ExpandGroups Especifica si se debe expandir la agrupación. bool true
FirstGroupOnly Especifica si solo se debe devolver el primer grupo (independientemente del esquema de la vista). bool true
FolderServerRelativeUrl Especifica la dirección URL de la carpeta desde la que se van a devolver elementos. string /sites/team-a/lists/Orders/Europe
ImageFieldsToTryRewriteToCdnUrls Lista de nombres de campo separados por comas cuyos valores se deben reescribir en direcciones URL de la red CDN. string ArticleImage,SecondaryImage
OverrideViewXml Especifica el XML de invalidación que se va a combinar con la vista CAML. Solo se aplica a la parte Query/Where de la vista CAML. string <Query><Where><Gt><FieldRef Name=\"OrderCount\" /><Value Type=\"Number\">3</Value></Gt></Where></Query>
Paging Especifica la información de paginación. string
RenderOptions Especifica el tipo de salida que se va a devolver. SPRenderListDataOptions Vea en la sección siguiente los valores posibles. Puede especificar varios valores si los suma.
ReplaceGroup Especifica si se debe reemplazar la agrupación para controlar la limitación GroupBy. bool true
ViewXml Especifica el XML de la vista CAML. string
Opciones de SPRenderListDataOptions
Etiqueta Descripción Valor
None Devuelve la salida predeterminada. 0
ContextInfo Devuelve información de contexto de lista. 1
ListData Devuelve datos de lista (igual que None). 2
ListSchema Devuelve el esquema de lista. 4
MenuView Devuelve el código HTML para el menú de lista. 8
ListContentType Devuelve información sobre los tipos de contenido de lista. Se debe combinar con la marca ContextInfo. 16
FileSystemItemId La lista devuelta tendrá un campo FileSystemItemId en cada elemento, si es posible. Se debe combinar con la marca ListData. 32
ClientFormSchema Devuelve el esquema de formulario de cliente para agregar y editar elementos. 64
QuickLaunch Devuelve los nodos de navegación de Inicio rápido. 128
Spotlight Devuelve información de representación de contenido destacado. 256
Visualization Devuelve información de representación de visualización. 512
ViewMetadata Devuelve el XML de la vista y otra información sobre la vista actual. 1024
DisableAutoHyperlink Impide que AutoHyperlink se ejecute en los campos de texto de esta consulta. 2048
EnableMediaTAUrls Permite que las direcciones URL apunten al servicio multimedia TA, como .thumbnailUrl, .videoManifestUrl y .pdfConversionUrls. 4096
ParentInfo Devuelve información de la carpeta principal. 8192
PageContextInfo Devuelve información contextual de página de la lista actual que se va a representar. 16384
ClientSideComponentManifest Devuelve información del manifiesto de componente del cliente asociada a la lista (se reserva para un uso futuro). 32768

Ejemplos

Recuperar un elemento con un identificador específico
POST https://{site_url}/sites/team-a/_api/web/GetList(@listUrl)/RenderListDataAsStream?@listUrl=%27%2Fsites%2Fteam-a%2Flists%2FList%27&FilterField1=ID&FilterValue1=1
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=nometadata"
...
Ordenar elementos de manera descendente por identificador
POST https://{site_url}/sites/team-a/_api/web/GetList(@listUrl)/RenderListDataAsStream?@listUrl=%27%2Fsites%2Fteam-a%2Flists%2FList%27&SortField=ID&SortDir=Desc
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=nometadata"
...
Recuperar elementos de la carpeta especificada
POST https://{site_url}/sites/team-a/_api/web/GetList(@listUrl)/RenderListDataAsStream?@listUrl=%27%2Fsites%2Fteam-a%2Flists%2FOrders%27
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=nometadata"
Content-Type: "application/json"

{
  "parameters": {
    "FolderServerRelativeUrl": "/sites/team-a/lists/Orders/Europe"
  }
}
Recuperar el esquema de lista
POST https://{site_url}/sites/team-a/_api/web/GetList(@listUrl)/RenderListDataAsStream?@listUrl=%27%2Fsites%2Fteam-a%2Flists%2FList%27
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=nometadata"
Content-Type: "application/json"

{
  "parameters": {
    "RenderOptions": 4
  }
}
Recuperar información sobre los tipos de contenido de lista
POST https://{site_url}/sites/team-a/_api/web/GetList(@listUrl)/RenderListDataAsStream?@listUrl=%27%2Fsites%2Fteam-a%2Flists%2FList%27
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=nometadata"
Content-Type: "application/json"

{
  "parameters": {
    "RenderOptions": 17
  }
}

Crear elemento de lista

En el siguiente ejemplo se muestra cómo crear un elemento de lista.

Nota:

Para ejecutar esta operación, debe saber la propiedad ListItemEntityTypeFullName de la lista y pasarla como valor de type en el cuerpo de la solicitud HTTP. Este es un ejemplo de la llamada REST para obtener ListItemEntityTypeFullName

GET https://{site_url}/_api/web/lists/GetByTitle('Test')?$select=ListItemEntityTypeFullName
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=nometadata"
POST https://{site_url}/_api/web/lists/GetByTitle('Test')/items
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Content-Type: "application/json;odata=verbose"
Content-Length: {length of request body as integer}
X-RequestDigest: "{form_digest_value}"

{
  "__metadata": {
    "type": "SP.Data.TestListItem"
  },
  "Title": "Test"
}

Crear elemento de lista en una carpeta

En el siguiente ejemplo se muestra cómo crear un elemento de lista en una carpeta.

POST https://{site_url}/_api/web/lists/GetByTitle('Test')/AddValidateUpdateItemUsingPath
Authorization: "Bearer " + accessToken
Accept          "application/json;odata=nometadata"
Content-Type    "application/json;odata=nometadata"
X-RequestDigest "The appropriate digest for current site"

{
  "listItemCreateInfo": {
    "FolderPath": {
      "DecodedUrl": "https://{site_url}/lists/Test/Folder/SubFolder"
    },
    "UnderlyingObjectType": 0
  },
  "formValues": [
    {
      "FieldName": "Title",
      "FieldValue": "Item"
    }
  ],
  "bNewDocumentUpdate": false
}

Determinación de la propiedad de la solicitud

Propiedad Description
listItemCreateInfo Información sobre la lista y la carpeta en la que se debe crear el elemento.
listItemCreateInfo.FolderPath.DecodedUrl Dirección URL absoluta de la carpeta en la que se debe crear el elemento.
listItemCreateInfo.UnderlyingObjectType Tipo de elemento que se va a crear. Para obtener más información, consulte FileSystemObjectType
formValues Matriz de valores y nombres de campo que se establecen en el elemento recién creado.
bNewDocumentUpdate Se establece en false para crear un elemento de lista.

Respuestas

Nombre Tipo Descripción
200 Correcto Boolean Correcto
{
  "value": [
    {
      "ErrorMessage": null,
      "FieldName": "Title",
      "FieldValue": "Item",
      "HasException": false,
      "ItemId": 0
    },
    {
      "ErrorMessage": null,
      "FieldName": "Id",
      "FieldValue": "1",
      "HasException": false,
      "ItemId": 0
    }
  ]
}

La propiedad value contiene la lista de propiedades que se han establecido al crear el elemento de lista.

Actualizar elemento de lista

En el siguiente ejemplo se muestra cómo actualizar un elemento de lista.

Nota:

Para ejecutar esta operación, debe saber la propiedad ListItemEntityTypeFullName de la lista y pasarla como valor de type en el cuerpo de la solicitud HTTP.

POST https://{site_url}/_api/web/lists/GetByTitle('Test')/items({item_id})
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Content-Type: "application/json"
Content-Length: {length of request body as integer}
If-Match: "{etag or *}"
X-HTTP-Method: "MERGE"
X-RequestDigest: "{form_digest_value}"

{
  "__metadata": {
    "type": "SP.Data.TestListItem"
  },
  "Title": "TestUpdated"
}

Eliminar elemento de lista

En el siguiente ejemplo se muestra cómo eliminar un elemento de lista.

POST https://{site_url}/_api/web/lists/GetByTitle('Test')/items({item_id})
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Content-Type: "application/json"
If-Match: "{etag or *}"
X-HTTP-Method: "DELETE"

Uso de valores ETag para el control de versiones en documentos y elementos de lista

El servicio REST de SharePoint, que cumple el estándar OData, usa Etags de encabezado de las listas y los elementos de lista de SharePoint. Para comprobar la versión de un elemento al efectuar una solicitud PUT, MERGE o DELETE, especifique una ETag en el encabezado de la solicitud HTTP If-Match.

Si la ETag especificada en la solicitud no coincide con la ETag del documento o con el elemento de lista del servidor, el servicio REST devolverá una excepción 412, de acuerdo con la especificación OData.

  • Para forzar una sobrescritura del elemento independientemente de la versión, establezca el valor de la ETag en "*".
  • Si no especifica ninguna ETag, SharePoint sobrescribirá el elemento independientemente de la versión.

En SharePoint, las ETags solo se aplican a las listas y a los elementos de lista de SharePoint.

Vea también