Trabalhar com listas e itens de listas com REST

Dica

O serviço REST do SharePoint Online (e o SharePoint 2016 e posterior no local) dá suporte à combinação de várias solicitações em uma única chamada para o serviço usando a opção de consulta $batch do OData. Para obter detalhes e links de amostras de código, confira Fazer solicitações em lote com APIs REST.

Pré-requisitos

Este tópico pressupõe que você já esteja familiarizado com os tópicos Conheça o serviço REST do Microsoft Office SharePoint Online e Concluir operações básicas usando pontos de extremidade REST do Microsoft Office SharePoint Online. Ele não fornece trechos de código.

Como recuperar listas e propriedades da lista com o REST

O exemplo a seguir mostra como recuperar uma lista específica, caso você tenha o GUID dela.

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

Observação

Se quiser a resposta em JSON, use application/json;odata=verbose no cabeçalho Accept.

Se quiser a resposta em formato Atom, use application/atom+xml no cabeçalho Accept.

O exemplo a seguir mostra como recuperar uma lista específica, caso você saiba o título dela.

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

O XML a seguir mostra um exemplo das propriedades de lista que são retornadas quando você solicita o tipo de conteúdo de 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>

Observação

A ListItemEntityTypeFullName propriedade (SP.Data.ProjectPolicyItemListItem, no exemplo anterior) é especialmente importante se você quiser criar e atualizar itens de lista. Este valor deve ser passado como a propriedade type nos metadados passados no corpo da solicitação HTTP sempre que você criar e atualizar itens de lista.

Trabalhar com listas usando REST

O exemplo a seguir mostra como criar uma 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"
}

O exemplo a seguir mostra como atualizar uma lista usando o 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"
}

O exemplo a seguir mostra como criar um campo personalizado para uma 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"
}

O exemplo a seguir mostra como excluir uma 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}"

Alterações de coluna de pesquisa

Ao fazer referência a uma coluna de pesquisa dentro da lista usando API REST, use o nome de exibição de coluna de pesquisa em vez do nome interno.

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

Trabalhar com itens de lista usando REST

Recuperar todos os itens de lista

O exemplo a seguir mostra como recuperar todos os itens de uma lista.

Observação

  • O parâmetro de consulta OData $skip não funciona ao consultar itens de lista. Em várias situações, é possível usar a opção $skiptoken.
  • Por padrão, os 100 primeiros itens serão retornados. Para saber mais sobre como controlar o número de itens, paginação, etc., confira a documentação sobre operações de consulta do OData
GET https://{site_url}/_api/web/lists/GetByTitle('Test')/items
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"

Recuperar um item de lista específico

O exemplo a seguir mostra como recuperar um item específico de lista.

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

O XML a seguir mostra um exemplo das propriedades do item de lista que são retornadas quando você solicita o tipo de conteúdo 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>

Obter itens como um fluxo

Obtém informações sobre a lista e seus dados. Usando esta API, você pode obter itens de lista caso eles usem campos complexos como pesquisas ou metadados gerenciados.

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 de URI RenderListDataAsStream

As propriedades a seguir podem ser adicionadas como parâmetros de cadeia de caracteres de consulta para manipular os dados retornados.

Propriedade Descrição Tipo Exemplo
CascDelWarnMessage Especifica se uma mensagem deve ser exibida se houver um aviso de exclusão em cascata number 1
DrillDown Especifica que alguns grupos em uma exibição agrupada estão expandidos. Usado com GroupString. string
GroupString Identificador de grupo usado para o recurso de busca detalhada. string
HasOverrideSelectCommand Usado para garantir que determinados campos estejam presentes para funcionamento correto do controle ListView do SharePoint. string
Field Especifica um campo especial que deve estar incluído. string
FieldInternalName Usado para identificar um campo quando uma lista tem uma fonte de dados externa. Também usado ao filtrar em um campo personalizado. string
Filter Especifica se o modo de exibição solicitado deve ter um filtro aplicado. string
FilterData Dados especificados por um filtro específico. string
FilterData1 Dados especificados por um filtro específico. string
FilterData2 Dados especificados por um filtro específico. string
FilterData3 Dados especificados por um filtro específico. string
FilterData4 Dados especificados por um filtro específico. string
FilterData5 Dados especificados por um filtro específico. string
FilterData6 Dados especificados por um filtro específico. string
FilterData7 Dados especificados por um filtro específico. string
FilterData8 Dados especificados por um filtro específico. string
FilterData9 Dados especificados por um filtro específico. string
FilterData10 Dados especificados por um filtro específico. string
FilterField Um nome de campo de filtro de um filtro específico aplicado ao modo de exibição. string
FilterField1 Um nome de campo de filtro de um filtro específico aplicado ao modo de exibição. string ID
FilterField2 Um nome de campo de filtro de um filtro específico aplicado ao modo de exibição. string ID
FilterField3 Um nome de campo de filtro de um filtro específico aplicado ao modo de exibição. string ID
FilterField4 Um nome de campo de filtro de um filtro específico aplicado ao modo de exibição. string ID
FilterField5 Um nome de campo de filtro de um filtro específico aplicado ao modo de exibição. string ID
FilterField6 Um nome de campo de filtro de um filtro específico aplicado ao modo de exibição. string ID
FilterField7 Um nome de campo de filtro de um filtro específico aplicado ao modo de exibição. string ID
FilterField8 Um nome de campo de filtro de um filtro específico aplicado ao modo de exibição. string ID
FilterField9 Um nome de campo de filtro de um filtro específico aplicado ao modo de exibição. string ID
FilterField10 Um nome de campo de filtro de um filtro específico aplicado ao modo de exibição. string ID
FilterFields Especifica vários campos que estão sendo filtrados em um filtro multiplicador. string
FilterFields1 Especifica vários campos que estão sendo filtrados em um filtro multiplicador. string
FilterFields2 Especifica vários campos que estão sendo filtrados em um filtro multiplicador. string
FilterFields3 Especifica vários campos que estão sendo filtrados em um filtro multiplicador. string
FilterFields4 Especifica vários campos que estão sendo filtrados em um filtro multiplicador. string
FilterFields5 Especifica vários campos que estão sendo filtrados em um filtro multiplicador. string
FilterFields6 Especifica vários campos que estão sendo filtrados em um filtro multiplicador. string
FilterFields7 Especifica vários campos que estão sendo filtrados em um filtro multiplicador. string
FilterFields8 Especifica vários campos que estão sendo filtrados em um filtro multiplicador. string
FilterFields9 Especifica vários campos que estão sendo filtrados em um filtro multiplicador. string
FilterFields10 Especifica vários campos que estão sendo filtrados em um filtro multiplicador. string
FilterValue O valor do filtro associado a um filtro específico. Por exemplo, FilterField3 acompanha FilterValue3, e assim por diante. string
FilterValue1 O valor do filtro associado a um filtro específico. Por exemplo, FilterField3 acompanha FilterValue3, e assim por diante. string 1
FilterValue2 O valor do filtro associado a um filtro específico. Por exemplo, FilterField3 acompanha FilterValue3, e assim por diante. string 1
FilterValue3 O valor do filtro associado a um filtro específico. Por exemplo, FilterField3 acompanha FilterValue3, e assim por diante. string 1
FilterValue4 O valor do filtro associado a um filtro específico. Por exemplo, FilterField3 acompanha FilterValue3, e assim por diante. string 1
FilterValue5 O valor do filtro associado a um filtro específico. Por exemplo, FilterField3 acompanha FilterValue3, e assim por diante. string 1
FilterValue6 O valor do filtro associado a um filtro específico. Por exemplo, FilterField3 acompanha FilterValue3, e assim por diante. string 1
FilterValue7 O valor do filtro associado a um filtro específico. Por exemplo, FilterField3 acompanha FilterValue3, e assim por diante. string 1
FilterValue8 O valor do filtro associado a um filtro específico. Por exemplo, FilterField3 acompanha FilterValue3, e assim por diante. string 1
FilterValue9 O valor do filtro associado a um filtro específico. Por exemplo, FilterField3 acompanha FilterValue3, e assim por diante. string 1
FilterValue10 O valor do filtro associado a um filtro específico. Por exemplo, FilterField3 acompanha FilterValue3, e assim por diante. string 1
FilterValues Usado com FilterFields para filtro multiplicador. Por exemplo, FilterFields3 acompanharia FilterValues3 e assim por diante. string
FilterValues1 Usado com FilterFields para filtro multiplicador. Por exemplo, FilterFields3 acompanharia FilterValues3 e assim por diante. string
FilterValues2 Usado com FilterFields para filtro multiplicador. Por exemplo, FilterFields3 acompanharia FilterValues3 e assim por diante. string
FilterValues3 Usado com FilterFields para filtro multiplicador. Por exemplo, FilterFields3 acompanharia FilterValues3 e assim por diante. string
FilterValues4 Usado com FilterFields para filtro multiplicador. Por exemplo, FilterFields3 acompanharia FilterValues3 e assim por diante. string
FilterValues5 Usado com FilterFields para filtro multiplicador. Por exemplo, FilterFields3 acompanharia FilterValues3 e assim por diante. string
FilterValues6 Usado com FilterFields para filtro multiplicador. Por exemplo, FilterFields3 acompanharia FilterValues3 e assim por diante. string
FilterValues7 Usado com FilterFields para filtro multiplicador. Por exemplo, FilterFields3 acompanharia FilterValues3 e assim por diante. string
FilterValues8 Usado com FilterFields para filtro multiplicador. Por exemplo, FilterFields3 acompanharia FilterValues3 e assim por diante. string
FilterValues9 Usado com FilterFields para filtro multiplicador. Por exemplo, FilterFields3 acompanharia FilterValues3 e assim por diante. string
FilterValues10 Usado com FilterFields para filtro multiplicador. Por exemplo, FilterFields3 acompanharia FilterValues3 e assim por diante. string
FilterLookupId Usado ao filtrar em um campo de pesquisa. Esta é a ID do item na lista estrangeira que tem um valor que está sendo filtrado. string
FilterLookupId1 Usado ao filtrar em um campo de pesquisa. Esta é a ID do item na lista estrangeira que tem um valor que está sendo filtrado. string
FilterLookupId2 Usado ao filtrar em um campo de pesquisa. Esta é a ID do item na lista estrangeira que tem um valor que está sendo filtrado. string
FilterLookupId3 Usado ao filtrar em um campo de pesquisa. Esta é a ID do item na lista estrangeira que tem um valor que está sendo filtrado. string
FilterLookupId4 Usado ao filtrar em um campo de pesquisa. Esta é a ID do item na lista estrangeira que tem um valor que está sendo filtrado. string
FilterLookupId5 Usado ao filtrar em um campo de pesquisa. Esta é a ID do item na lista estrangeira que tem um valor que está sendo filtrado. string
FilterLookupId6 Usado ao filtrar em um campo de pesquisa. Esta é a ID do item na lista estrangeira que tem um valor que está sendo filtrado. string
FilterLookupId7 Usado ao filtrar em um campo de pesquisa. Esta é a ID do item na lista estrangeira que tem um valor que está sendo filtrado. string
FilterLookupId8 Usado ao filtrar em um campo de pesquisa. Esta é a ID do item na lista estrangeira que tem um valor que está sendo filtrado. string
FilterLookupId9 Usado ao filtrar em um campo de pesquisa. Esta é a ID do item na lista estrangeira que tem um valor que está sendo filtrado. string
FilterLookupId10 Usado ao filtrar em um campo de pesquisa. Esta é a ID do item na lista estrangeira que tem um valor que está sendo filtrado. string
FilterOnly string
FilterOp Operador de filtro. Usado ao filtrar com outros operadores que não sejam Eq (Geq, Leq, etc.) string Geq
FilterOp1 Operador de filtro. Usado ao filtrar com outros operadores que não sejam Eq (Geq, Leq, etc.) string Geq
FilterOp2 Operador de filtro. Usado ao filtrar com outros operadores que não sejam Eq (Geq, Leq, etc.) string Geq
FilterOp3 Operador de filtro. Usado ao filtrar com outros operadores que não sejam Eq (Geq, Leq, etc.) string Geq
FilterOp4 Operador de filtro. Usado ao filtrar com outros operadores que não sejam Eq (Geq, Leq, etc.) string Geq
FilterOp5 Operador de filtro. Usado ao filtrar com outros operadores que não sejam Eq (Geq, Leq, etc.) string Geq
FilterOp6 Operador de filtro. Usado ao filtrar com outros operadores que não sejam Eq (Geq, Leq, etc.) string Geq
FilterOp7 Operador de filtro. Usado ao filtrar com outros operadores que não sejam Eq (Geq, Leq, etc.) string Geq
FilterOp8 Operador de filtro. Usado ao filtrar com outros operadores que não sejam Eq (Geq, Leq, etc.) string Geq
FilterOp9 Operador de filtro. Usado ao filtrar com outros operadores que não sejam Eq (Geq, Leq, etc.) string Geq
FilterOp10 Operador de filtro. Usado ao filtrar com outros operadores que não sejam Eq (Geq, Leq, etc.) string Geq
ID A ID do item cujas informações estão sendo buscadas. number
InplaceSearchQuery Termo de pesquisa para uma pesquisa de lista completa. string
InplaceFullListSearch Um valor booliano que especifica se há uma pesquisa de lista completa. string
IsCSR Se esse modo de exibição for um modo de exibição renderizado do lado do cliente. string
CustomAction string
IsGroupRender Usado para definir a propriedade IsGroupRender do SPView. string
IsRibbon string
IsXslView Se esse modo de exibição for um modo de exibição de lista xslt. string
List string
ListId string
ListViewPageUrl string
OverrideScope Usado para substituir um escopo no modo de exibição renderizado: SPView.Scope string
OverrideSelectCommand Usado para garantir que certos campos estejam presentes na consulta, independentemente de estarem explicitamente incluídos na exibição. string
PageFirstRow Informações de paginação sobre a primeira linha solicitada. Usado para modos de exibição de lista de paginação. string
PageLastRow Informações de paginação sobre a última linha solicitada. Usado para modos de exibição de lista de paginação. string
RootFolder A pasta que o modo de exibição está exibindo. string
SortField Um campo no qual o modo de exibição deve ser classificado. string ID
SortField1 Um campo no qual o modo de exibição deve ser classificado. string ID
SortField2 Um campo no qual o modo de exibição deve ser classificado. string ID
SortField3 Um campo no qual o modo de exibição deve ser classificado. string ID
SortField4 Um campo no qual o modo de exibição deve ser classificado. string ID
SortField5 Um campo no qual o modo de exibição deve ser classificado. string ID
SortField6 Um campo no qual o modo de exibição deve ser classificado. string ID
SortField7 Um campo no qual o modo de exibição deve ser classificado. string ID
SortField8 Um campo no qual o modo de exibição deve ser classificado. string ID
SortField9 Um campo no qual o modo de exibição deve ser classificado. string ID
SortField10 Um campo no qual o modo de exibição deve ser classificado. string ID
SortFields Especifica o nome do primeiro campo pelo qual classificar string
SortFieldValues Especifica o nome do primeiro campo pelo qual classificar string
SortDir A direção de classificação da classificação ad-hoc aplicada ao modo de exibição. string Desc
SortDir1 A direção de classificação da classificação ad-hoc aplicada ao modo de exibição. string Desc
SortDir2 A direção de classificação da classificação ad-hoc aplicada ao modo de exibição. string Desc
SortDir3 A direção de classificação da classificação ad-hoc aplicada ao modo de exibição. string Desc
SortDir4 A direção de classificação da classificação ad-hoc aplicada ao modo de exibição. string Desc
SortDir5 A direção de classificação da classificação ad-hoc aplicada ao modo de exibição. string Desc
SortDir6 A direção de classificação da classificação ad-hoc aplicada ao modo de exibição. string Desc
SortDir7 A direção de classificação da classificação ad-hoc aplicada ao modo de exibição. string Desc
SortDir8 A direção de classificação da classificação ad-hoc aplicada ao modo de exibição. string Desc
SortDir9 A direção de classificação da classificação ad-hoc aplicada ao modo de exibição. string Desc
SortDir10 A direção de classificação da classificação ad-hoc aplicada ao modo de exibição. string Desc
View Especifica o modo de exibição base que será usado para renderizar a lista. GUID 3d13559e-3071-5000-76b8-8f1ca6b835f0
ViewPath Especifica o caminho do modo de exibição que será usado para renderizar a lista. Se ViewId for fornecido, ViewId será usado e este parâmetro será ignorado. string
ViewCount Quando vários modos de exibição de lista estão em uma página, isso identifica um deles. string
ViewId Especifica o modo de exibição base que será usado para renderizar a lista. parâmetros ad-hoc serão aplicados a esse modo de exibição. Se tanto ViewXml como BaseViewId forem fornecidos, ViewXml será usado e os parâmetros ad-hoc serão ignorados. string
WebPartId A ID da web part do modo de exibição de lista que está exibindo esse modo de exibição. string

Propriedades do parâmetro do corpo RenderListDataAsStream

Propriedade Descrição Tipo Exemplo
AddRequiredFields Especifica se os campos necessários deverão ser retornados ou não bool true
AllowMultipleValueFilterForTaxonomyFields Especifica se a filtragem por vários valores é permitida ou não para campos de taxonomia bool true
DatesInUtc Especifica se retornamos o campo DateTime na hora local ou UTC. bool true
ExpandGroups Especifica se o agrupamento deve ser expandido ou não. bool true
FirstGroupOnly Especifica se apenas o primeiro grupo deve ser retornado ou não (independentemente do esquema de modo de exibição). bool true
FolderServerRelativeUrl Especifica a URL da pasta da qual os itens serão retornados. string /sites/team-a/lists/Orders/Europe
ImageFieldsToTryRewriteToCdnUrls Lista separada por vírgulas dos nomes de campos cujos valores devem ser reescritos como URLs de CDN string ArticleImage,SecondaryImage
OverrideViewXml Especifica o XML de substituição a ser combinado com o CAML do modo de exibição. Só é aplicável à parte Query/Where do CAML do modo de exibição. string <Query><Where><Gt><FieldRef Name=\"OrderCount\" /><Value Type=\"Number\">3</Value></Gt></Where></Query>
Paging Especifica as informações de paginação. string
RenderOptions Especifica o tipo de saída a retornar. SPRenderListDataOptions Confira a próxima seção para ver os valores possíveis. Você pode especificar vários valores somando os valores deles
ReplaceGroup Especifica se o agrupamento deve ser substituído ou não para lidar com a limitação de GroupBy. bool true
ViewXml Especifica o XML da exibição CAML. string
Opções do SPRenderListDataOptions
Rótulo Descrição Valor
None Retornar um resultado padrão 0
ContextInfo Retornar informações de contexto da lista 1
ListData Retornar dados de lista (o mesmo que None) 2
ListSchema Retornar o esquema da lista 4
MenuView Retornar HTML do menu de listas 8
ListContentType Retorna informações sobre tipos de conteúdo de lista. Deve ser combinada com o sinalizador ContextInfo 16
FileSystemItemId A lista retornada terá um campo FileSystemItemId em cada item, se possível. Deve ser combinada com o sinalizador ListData 32
ClientFormSchema Retorna o esquema de formulário do cliente para adicionar e editar itens 64
QuickLaunch Retorna nós de navegação de início rápido 128
Spotlight Retorna informações de renderização do Spotlight 256
Visualization Retorna informações de renderização de Visualização 512
ViewMetadata Retorna o XML de exibição e outras informações sobre a exibição atual 1024
DisableAutoHyperlink Impede que o AutoHyperlink seja executado nos campos de texto nesta consulta 2048
EnableMediaTAUrls Habilita URLs que apontam para o serviço Media TA, como .thumbnailUrl, .videoManifestUrl, .pdfConversionUrls 4096
ParentInfo Retorna informações da pasta pai 8192
PageContextInfo Retorna informações de contexto da página para a lista atual que está sendo renderizada 16384
ClientSideComponentManifest Retornar informações de manifesto do componente do lado do cliente associadas à lista (reservado para uso futuro) 32768

Exemplos

Recuperar item com uma ID específica
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"
...
Classificar itens em ordem decrescente por ID
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 itens da pasta 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 o esquema da 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 informações sobre tipos de conteúdo 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
  }
}

Criar item de lista

O exemplo a seguir mostra como criar um item de lista.

Observação

Para fazer essa operação, você deve saber a propriedade ListItemEntityTypeFullName da lista e passá-lo como o valor do type no corpo da solicitação HTTP. A seguir, uma chamada rest de exemplo para obter o 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"
}

Criar item de lista em uma pasta

O exemplo a seguir mostra como criar um item de lista na pasta.

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
}

Solicitar detalhes da propriedade

Propriedade Descrição
listItemCreateInfo Informações sobre a lista e a pasta onde o item deve ser criado
listItemCreateInfo.FolderPath.DecodedUrl URL absoluta da pasta onde o item deve ser criado
listItemCreateInfo.UnderlyingObjectType Tipo do item a ser criado. Para obter mais informações, confira FileSystemObjectType
formValues Matriz de nomes de campos e valores a definir no item recém-criado
bNewDocumentUpdate Definir como false para criar um item de lista

Respostas

Nome Tipo Descrição
200 OK Boolean Êxito
{
  "value": [
    {
      "ErrorMessage": null,
      "FieldName": "Title",
      "FieldValue": "Item",
      "HasException": false,
      "ItemId": 0
    },
    {
      "ErrorMessage": null,
      "FieldName": "Id",
      "FieldValue": "1",
      "HasException": false,
      "ItemId": 0
    }
  ]
}

A propriedade value contém a lista de propriedades que foram definidas ao criar o item de lista.

Atualizar item de lista

O exemplo a seguir mostra como atualizar um item de lista.

Observação

Para fazer essa operação, você deve saber a propriedade ListItemEntityTypeFullName da lista e passá-lo como o valor do type no corpo da solicitação 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"
}

Excluir item de lista

O exemplo a seguir mostra como excluir um item 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"

Usando valores ETag para determinar as versões do documento e do item de lista

O serviço REST do SharePoint, que segue o padrão OData, usa ETags de Cabeçalho de listas do SharePoint e itens de lista. Para verificar na versão de um item onde você realiza uma solicitação PUT, MERGE ou DELETE, especifique ETag no cabeçalho de solicitação HTTP If-Match.

Se o ETag especificado em sua solicitação não corresponder ao ETag do item de documento ou lista no servidor, o serviço REST retornará uma exceção 412, conforme a especificação do OData.

  • Para forçar uma substituição do item independentemente da versão, defina o valor ETag como "*".
  • Se você não especificar um ETag, o SharePoint substitui o item independentemente da versão.

No SharePoint, as ETags se aplicam apenas a listas do SharePoint e itens de lista.

Confira também