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
- Introducción al servicio REST para SharePoint
- SharePoint-Add-in-REST-OData-BasicDataOperations
- SharePoint: Realizar operaciones básicas de acceso a datos en archivos y carpetas mediante REST
- Acceso a datos seguro y modelos de objetos de cliente para complementos de SharePoint
- Trabajar con datos externos en SharePoint
- Recursos de OData
- Desarrollar complementos para SharePoint