Utilisation d’une liste et de ses éléments avec REST

Conseil

Le service REST SharePoint Online (et SharePoint sur site 2016 et ultérieur) prend en charge la combinaison de plusieurs requêtes en un seul appel au service à l’aide de l’option de requête $batch OData. Pour obtenir plus d’informations et des liens vers des exemples de code, consultez la rubrique Créer des requêtes de lots avec l’API REST.

Conditions préalables

Cette rubrique part du principe que vous avez déjà parcouru les rubriques Découverte du service REST SharePoint et Effectuer des opérations de base à l’aide de terminaux REST SharePoint. Elle ne fournit pas d’extraits de code.

Récupérer des listes et des propriétés de liste à l’aide de l’interface REST

L’exemple suivant montre comment récupérer une liste spécifique quand vous connaissez son GUID.

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

Remarque

Pour afficher la réponse au format JSON, utilisez application/json;odata=verbose dans l’en-tête Accept.

Pour l’afficher au format Atom, utilisez application/atom+xml dans l’en-tête Accept.

L’exemple ci-après montre comment récupérer une liste spécifique lorsque vous connaissez le titre de celle-ci.

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

Le code XML ci-après donne un exemple des propriétés de liste qui sont renvoyées lorsque vous demandez le type de contenu 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>

Remarque

La propriété ListItemEntityTypeFullName (SP.Data.ProjectPolicyItemListItem dans l’exemple précédent) est particulièrement importante lorsque vous voulez créer et mettre à jour des éléments de liste. Cette valeur doit être transmise à la propriété type dans les métadonnées transmises dans le corps de la requête HTTP lors de la création et la mise à jour d'éléments de liste.

Utilisation de listes à l’aide de l’interface REST

L’exemple ci-après montre comment créer une liste.

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"
}

L’exemple suivant montre comment mettre à jour une liste à l’aide de la méthode 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"
}

L’exemple ci-après montre comment créer un champ personnalisé pour une liste.

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"
}

L’exemple suivant montre comment supprimer une liste.

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}"

Modifications de colonne de recherche

Lorsque vous faites référence à une colonne de recherche dans une liste à l’aide d’une API REST, utilisez le nom d’affichage de la colonne de recherche plutôt que le nom interne.

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

Utilisation d’éléments de liste à l’aide de l’interface REST

Récupérer tous les éléments de liste

L’exemple suivant montre comment récupérer tous les éléments d’une liste.

Remarque

  • Le paramètre de requête OData $skip ne fonctionne pas lors de l’interrogation d’éléments de liste. Dans de nombreux cas, vous pouvez la remplacer par l’option $skiptoken.
  • Par défaut, elle renvoie les 100 premiers éléments. Pour plus d’informations sur le contrôle du nombre d’éléments, la pagination, etc., consultez la documentation sur les Opérations de requête OData
GET https://{site_url}/_api/web/lists/GetByTitle('Test')/items
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"

Récupérer un élément de liste spécifique

L’exemple suivant montre comment récupérer un élément de liste spécifique.

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

Le code XML ci-après donne un exemple des propriétés d’élément de liste qui sont renvoyées lorsque vous demandez le type de contenu 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>

Récupérer des éléments en tant que flux

Récupère des informations sur la liste et sur ses données. Avec cette API, vous pouvez récupérer des éléments de liste qui utilisent des champs complexes tels que les recherches ou les métadonnées gérées.

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
  }
}

Paramètres d’URI RenderListDataAsStream

Les propriétés suivantes peuvent être ajoutées en tant que paramètres de chaîne de requête afin de manipuler les données renvoyées.

Propriété Description Type Exemple
CascDelWarnMessage Indique si un message doit être affiché en cas d’avertissement de suppression en cascade. number 1
DrillDown Indique que certains groupes dans un affichage groupé sont étendus. Option utilisée avec GroupString. string
GroupString Identificateur de groupe utilisé pour la fonctionnalité d’exploration. string
HasOverrideSelectCommand Permet de s’assurer que certains champs sont présents pour le bon fonctionnement du contrôle ListView SharePoint. string
Field Spécifie un champ spécial à inclure. string
FieldInternalName Permet d’identifier un champ lorsqu’une liste a une source de données externe. Cette option est également utilisée lors du filtrage sur un champ personnalisé. string
Filter Spécifie si un filtre doit être appliqué à la vue demandée. string
FilterData Données spécifiées par un filtre spécifique. string
FilterData1 Données spécifiées par un filtre spécifique. string
FilterData2 Données spécifiées par un filtre spécifique. string
FilterData3 Données spécifiées par un filtre spécifique. string
FilterData4 Données spécifiées par un filtre spécifique. string
FilterData5 Données spécifiées par un filtre spécifique. string
FilterData6 Données spécifiées par un filtre spécifique. string
FilterData7 Données spécifiées par un filtre spécifique. string
FilterData8 Données spécifiées par un filtre spécifique. string
FilterData9 Données spécifiées par un filtre spécifique. string
FilterData10 Données spécifiées par un filtre spécifique. string
FilterField Nom de champ d’un filtre spécifique qui est appliqué à la vue. string
FilterField1 Nom de champ d’un filtre spécifique qui est appliqué à la vue. string ID
FilterField2 Nom de champ d’un filtre spécifique qui est appliqué à la vue. string ID
FilterField3 Nom de champ d’un filtre spécifique qui est appliqué à la vue. string ID
FilterField4 Nom de champ d’un filtre spécifique qui est appliqué à la vue. string ID
FilterField5 Nom de champ d’un filtre spécifique qui est appliqué à la vue. string ID
FilterField6 Nom de champ d’un filtre spécifique qui est appliqué à la vue. string ID
FilterField7 Nom de champ d’un filtre spécifique qui est appliqué à la vue. string ID
FilterField8 Nom de champ d’un filtre spécifique qui est appliqué à la vue. string ID
FilterField9 Nom de champ d’un filtre spécifique qui est appliqué à la vue. string ID
FilterField10 Nom de champ d’un filtre spécifique qui est appliqué à la vue. string ID
FilterFields Spécifie plusieurs champs qui sont en cours de filtrage pour un filtre multiplicateur. string
FilterFields1 Spécifie plusieurs champs qui sont en cours de filtrage pour un filtre multiplicateur. string
FilterFields2 Spécifie plusieurs champs qui sont en cours de filtrage pour un filtre multiplicateur. string
FilterFields3 Spécifie plusieurs champs qui sont en cours de filtrage pour un filtre multiplicateur. string
FilterFields4 Spécifie plusieurs champs qui sont en cours de filtrage pour un filtre multiplicateur. string
FilterFields5 Spécifie plusieurs champs qui sont en cours de filtrage pour un filtre multiplicateur. string
FilterFields6 Spécifie plusieurs champs qui sont en cours de filtrage pour un filtre multiplicateur. string
FilterFields7 Spécifie plusieurs champs qui sont en cours de filtrage pour un filtre multiplicateur. string
FilterFields8 Spécifie plusieurs champs qui sont en cours de filtrage pour un filtre multiplicateur. string
FilterFields9 Spécifie plusieurs champs qui sont en cours de filtrage pour un filtre multiplicateur. string
FilterFields10 Spécifie plusieurs champs qui sont en cours de filtrage pour un filtre multiplicateur. string
FilterValue Valeur de filtre associée à un filtre spécifique. Par exemple, FilterField3 est associé à FilterValue3, et ainsi de suite. string
FilterValue1 Valeur de filtre associée à un filtre spécifique. Par exemple, FilterField3 est associé à FilterValue3, et ainsi de suite. string 1
FilterValue2 Valeur de filtre associée à un filtre spécifique. Par exemple, FilterField3 est associé à FilterValue3, et ainsi de suite. string 1
FilterValue3 Valeur de filtre associée à un filtre spécifique. Par exemple, FilterField3 est associé à FilterValue3, et ainsi de suite. string 1
FilterValue4 Valeur de filtre associée à un filtre spécifique. Par exemple, FilterField3 est associé à FilterValue3, et ainsi de suite. string 1
FilterValue5 Valeur de filtre associée à un filtre spécifique. Par exemple, FilterField3 est associé à FilterValue3, et ainsi de suite. string 1
FilterValue6 Valeur de filtre associée à un filtre spécifique. Par exemple, FilterField3 est associé à FilterValue3, et ainsi de suite. string 1
FilterValue7 Valeur de filtre associée à un filtre spécifique. Par exemple, FilterField3 est associé à FilterValue3, et ainsi de suite. string 1
FilterValue8 Valeur de filtre associée à un filtre spécifique. Par exemple, FilterField3 est associé à FilterValue3, et ainsi de suite. string 1
FilterValue9 Valeur de filtre associée à un filtre spécifique. Par exemple, FilterField3 est associé à FilterValue3, et ainsi de suite. string 1
FilterValue10 Valeur de filtre associée à un filtre spécifique. Par exemple, FilterField3 est associé à FilterValue3, et ainsi de suite. string 1
FilterValues Option utilisée avec FilterFields pour un filtre multiplicateur. Par exemple, FilterFields3 est associé à FilterValues3, et ainsi de suite. string
FilterValues1 Option utilisée avec FilterFields pour un filtre multiplicateur. Par exemple, FilterFields3 est associé à FilterValues3, et ainsi de suite. string
FilterValues2 Option utilisée avec FilterFields pour un filtre multiplicateur. Par exemple, FilterFields3 est associé à FilterValues3, et ainsi de suite. string
FilterValues3 Option utilisée avec FilterFields pour un filtre multiplicateur. Par exemple, FilterFields3 est associé à FilterValues3, et ainsi de suite. string
FilterValues4 Option utilisée avec FilterFields pour un filtre multiplicateur. Par exemple, FilterFields3 est associé à FilterValues3, et ainsi de suite. string
FilterValues5 Option utilisée avec FilterFields pour un filtre multiplicateur. Par exemple, FilterFields3 est associé à FilterValues3, et ainsi de suite. string
FilterValues6 Option utilisée avec FilterFields pour un filtre multiplicateur. Par exemple, FilterFields3 est associé à FilterValues3, et ainsi de suite. string
FilterValues7 Option utilisée avec FilterFields pour un filtre multiplicateur. Par exemple, FilterFields3 est associé à FilterValues3, et ainsi de suite. string
FilterValues8 Option utilisée avec FilterFields pour un filtre multiplicateur. Par exemple, FilterFields3 est associé à FilterValues3, et ainsi de suite. string
FilterValues9 Option utilisée avec FilterFields pour un filtre multiplicateur. Par exemple, FilterFields3 est associé à FilterValues3, et ainsi de suite. string
FilterValues10 Option utilisée avec FilterFields pour un filtre multiplicateur. Par exemple, FilterFields3 est associé à FilterValues3, et ainsi de suite. string
FilterLookupId Option utilisée lors du filtrage d’un champ de recherche. Il s’agit de l’ID d’élément dans la liste étrangère qui a une valeur en cours de filtrage. string
FilterLookupId1 Option utilisée lors du filtrage d’un champ de recherche. Il s’agit de l’ID d’élément dans la liste étrangère qui a une valeur en cours de filtrage. string
FilterLookupId2 Option utilisée lors du filtrage d’un champ de recherche. Il s’agit de l’ID d’élément dans la liste étrangère qui a une valeur en cours de filtrage. string
FilterLookupId3 Option utilisée lors du filtrage d’un champ de recherche. Il s’agit de l’ID d’élément dans la liste étrangère qui a une valeur en cours de filtrage. string
FilterLookupId4 Option utilisée lors du filtrage d’un champ de recherche. Il s’agit de l’ID d’élément dans la liste étrangère qui a une valeur en cours de filtrage. string
FilterLookupId5 Option utilisée lors du filtrage d’un champ de recherche. Il s’agit de l’ID d’élément dans la liste étrangère qui a une valeur en cours de filtrage. string
FilterLookupId6 Option utilisée lors du filtrage d’un champ de recherche. Il s’agit de l’ID d’élément dans la liste étrangère qui a une valeur en cours de filtrage. string
FilterLookupId7 Option utilisée lors du filtrage d’un champ de recherche. Il s’agit de l’ID d’élément dans la liste étrangère qui a une valeur en cours de filtrage. string
FilterLookupId8 Option utilisée lors du filtrage d’un champ de recherche. Il s’agit de l’ID d’élément dans la liste étrangère qui a une valeur en cours de filtrage. string
FilterLookupId9 Option utilisée lors du filtrage d’un champ de recherche. Il s’agit de l’ID d’élément dans la liste étrangère qui a une valeur en cours de filtrage. string
FilterLookupId10 Option utilisée lors du filtrage d’un champ de recherche. Il s’agit de l’ID d’élément dans la liste étrangère qui a une valeur en cours de filtrage. string
FilterOnly string
FilterOp Opérateur de filtre. Utilisé lors du filtrage avec des opérateurs autres que Eq (Geq, Leq etc.). string Geq
FilterOp1 Opérateur de filtre. Utilisé lors du filtrage avec des opérateurs autres que Eq (Geq, Leq etc.). string Geq
FilterOp2 Opérateur de filtre. Utilisé lors du filtrage avec des opérateurs autres que Eq (Geq, Leq etc.). string Geq
FilterOp3 Opérateur de filtre. Utilisé lors du filtrage avec des opérateurs autres que Eq (Geq, Leq etc.). string Geq
FilterOp4 Opérateur de filtre. Utilisé lors du filtrage avec des opérateurs autres que Eq (Geq, Leq etc.). string Geq
FilterOp5 Opérateur de filtre. Utilisé lors du filtrage avec des opérateurs autres que Eq (Geq, Leq etc.). string Geq
FilterOp6 Opérateur de filtre. Utilisé lors du filtrage avec des opérateurs autres que Eq (Geq, Leq etc.). string Geq
FilterOp7 Opérateur de filtre. Utilisé lors du filtrage avec des opérateurs autres que Eq (Geq, Leq etc.). string Geq
FilterOp8 Opérateur de filtre. Utilisé lors du filtrage avec des opérateurs autres que Eq (Geq, Leq etc.). string Geq
FilterOp9 Opérateur de filtre. Utilisé lors du filtrage avec des opérateurs autres que Eq (Geq, Leq etc.). string Geq
FilterOp10 Opérateur de filtre. Utilisé lors du filtrage avec des opérateurs autres que Eq (Geq, Leq etc.). string Geq
ID ID de l’élément dont les informations sont recherchées. number
InplaceSearchQuery Terme de recherche pour une recherche de liste complète. string
InplaceFullListSearch Valeur booléenne spécifiant s’il y a une recherche de liste complète. string
IsCSR Indique si cette vue est affichée côté client. string
CustomAction string
IsGroupRender Option utilisée pour définir la propriété IsGroupRender de la SPView. string
IsRibbon string
IsXslView Indique si cette vue est une vue de liste xslt. string
List string
ListId string
ListViewPageUrl string
OverrideScope Permet de remplacer une étendue dans la vue affichée : SPView.Scope string
OverrideSelectCommand Permet de s’assurer que certains champs sont présents dans la requête, qu’ils soient ou non explicitement inclus dans l’affichage. string
PageFirstRow Informations de pagination sur la première ligne qui est demandée. Option utilisée pour la pagination des vues de liste. string
PageLastRow Informations de pagination sur la dernière ligne qui est demandée. Option utilisée pour la pagination des vues de liste. string
RootFolder Dossier affiché dans la vue. string
SortField Champ en fonction duquel la vue doit être triée. string ID
SortField1 Champ en fonction duquel la vue doit être triée. string ID
SortField2 Champ en fonction duquel la vue doit être triée. string ID
SortField3 Champ en fonction duquel la vue doit être triée. string ID
SortField4 Champ en fonction duquel la vue doit être triée. string ID
SortField5 Champ en fonction duquel la vue doit être triée. string ID
SortField6 Champ en fonction duquel la vue doit être triée. string ID
SortField7 Champ en fonction duquel la vue doit être triée. string ID
SortField8 Champ en fonction duquel la vue doit être triée. string ID
SortField9 Champ en fonction duquel la vue doit être triée. string ID
SortField10 Champ en fonction duquel la vue doit être triée. string ID
SortFields Spécifie le nom du premier champ en fonction duquel effectuer le tri. string
SortFieldValues Spécifie le nom du premier champ en fonction duquel effectuer le tri. string
SortDir Sens de tri d’un tri ad hoc appliqué à la vue. string Desc
SortDir1 Sens de tri d’un tri ad hoc appliqué à la vue. string Desc
SortDir2 Sens de tri d’un tri ad hoc appliqué à la vue. string Desc
SortDir3 Sens de tri d’un tri ad hoc appliqué à la vue. string Desc
SortDir4 Sens de tri d’un tri ad hoc appliqué à la vue. string Desc
SortDir5 Sens de tri d’un tri ad hoc appliqué à la vue. string Desc
SortDir6 Sens de tri d’un tri ad hoc appliqué à la vue. string Desc
SortDir7 Sens de tri d’un tri ad hoc appliqué à la vue. string Desc
SortDir8 Sens de tri d’un tri ad hoc appliqué à la vue. string Desc
SortDir9 Sens de tri d’un tri ad hoc appliqué à la vue. string Desc
SortDir10 Sens de tri d’un tri ad hoc appliqué à la vue. string Desc
View Spécifie la vue de base qui sera utilisée pour afficher la liste. GUID 3d13559e-3071-5000-76b8-8f1ca6b835f0
ViewPath Spécifie le chemin d’accès à la vue qui est utilisé pour afficher la liste. Si l’élément ViewId est indiqué, l’élément ViewId est utilisé et ce paramètre est ignoré. string
ViewCount Lorsque plusieurs vues de liste sont affichées sur une page, cet élément identifie l’une d’entre elles. string
ViewId Spécifie la vue de base qui sera utilisée pour afficher la liste. Des paramètres ad-hoc seront appliqués en haut de cette vue. Si les éléments ViewXml et BaseViewId sont indiqués, l’élément ViewXml et utilisé et les paramètres ad-hoc sont ignorés. string
WebPartId ID du composant WebPart de vue de liste qui affiche cette vue. string

Propriétés du paramètre de corps RenderListDataAsStream

Propriété Description Type Exemple
AddRequiredFields Indique si les champs requis doivent être renvoyés. bool true
AllowMultipleValueFilterForTaxonomyFields Spécifie si le filtrage de plusieurs valeurs est autorisé pour les champs de taxonomie. bool true
DatesInUtc Spécifie si nous renvoyons le champ DateTime au format UTC ou d’heure locale. bool true
ExpandGroups Spécifie si le regroupement doit être développé. bool true
FirstGroupOnly Indique si seul le premier groupe doit être renvoyé (quel que soit le schéma d’affichage). bool true
FolderServerRelativeUrl Indique l’URL pointant vers le dossier à partir duquel renvoyer les éléments. string /sites/team-a/lists/Orders/Europe
ImageFieldsToTryRewriteToCdnUrls Liste de valeurs séparées par des virgules des noms de champs dont les valeurs doivent être réécrites dans l’URL du CDN. string ArticleImage,SecondaryImage
OverrideViewXml Spécifie le fichier XML de remplacement à associer au CAML de la vue. S’applique uniquement à la partie Query/Where du CAML de la vue. string <Query><Where><Gt><FieldRef Name=\"OrderCount\" /><Value Type=\"Number\">3</Value></Gt></Where></Query>
Paging Indique les informations de pagination. string
RenderOptions Spécifie le type de sortie à renvoyer. SPRenderListDataOptions Reportez-vous à la section suivante pour consulter les valeurs possibles. Vous pouvez spécifier plusieurs valeurs en les ajoutant ensemble.
ReplaceGroup Indique si le regroupement doit être remplacé ou non pour traiter la limitation GroupBy. bool true
ViewXml Spécifie le fichier XML de la vue CAML. string
Options SPRenderListDataOptions
Étiquette Description Valeur
None Renvoyer la sortie par défaut 0
ContextInfo Renvoyer les informations contextuelles de la liste 1
ListData Renvoyer les données de liste (identique à l’option None) 2
ListSchema Renvoyer le schéma de liste 4
MenuView Renvoyer HTML pour le menu de liste 8
ListContentType Renvoie des informations sur les types de contenu de la liste. Cette option doit être accompagnée de l’indicateur ContextInfo. 16
FileSystemItemId Si possible, la liste renvoyée aura un champ FileSystemItemId sur chaque élément. Cette option doit être accompagnée de l’indicateur ListData. 32
ClientFormSchema Renvoie le schéma de formulaire client permettant d’ajouter et de modifier des éléments. 64
QuickLaunch Renvoie les nœuds de navigation QuickLaunch. 128
Spotlight Renvoie les informations de rendu Spotlight. 256
Visualization Renvoie les informations de rendu Visualization. 512
ViewMetadata Renvoie les données XML de la vue et d’autres informations sur la vue actuelle. 1024
DisableAutoHyperlink Empêche l’exécution d’AutoHyperlink sur des champs de texte dans cette requête. 2048
EnableMediaTAUrls Active les URL pointant vers le service Media TA, telles que .thumbnailUrl, .videoManifestUrl et .pdfConversionUrls. 4096
ParentInfo Renvoie les informations du dossier parent. 8192
PageContextInfo Renvoie les informations contextuelles de page pour la liste actuellement affichée. 16384
ClientSideComponentManifest Renvoie les informations de manifeste de composant côté client associées à la liste (réservé à une utilisation future). 32768

Exemples

Récupérer un élément avec un ID spécifique
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"
...
Trier les éléments par ordre décroissant par 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"
...
Récupérer des éléments du dossier spécifié
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"
  }
}
Récupérer le schéma de liste
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
  }
}
Récupérer des informations sur les types de contenu de liste
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
  }
}

Créer un élément de liste

L’exemple ci-après montre comment créer un élément de liste.

Remarque

Pour effectuer cette opération, vous devez connaître la propriété ListItemEntityTypeFullName de la liste et la transmettre comme valeur de type dans le corps de la requête HTTP. Voici un exemple d’appel Rest pour obtenir la propriété 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"
}

Créer un élément de liste dans un dossier

L’exemple ci-après montre comment créer un élément de liste.

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
}

Détails de propriété de la demande

Propriété Description
listItemCreateInfo Informations sur la liste et le dossier dans lesquels l’élément doit être créé.
listItemCreateInfo.FolderPath.DecodedUrl URL absolue du dossier dans lequel l’élément doit être créé.
listItemCreateInfo.UnderlyingObjectType Type d’élément à créer. Pour plus d’informations, voir FileSystemObjectType.
formValues Tableau de valeurs et de noms de champs à définir dans l’élément nouvellement créé.
bNewDocumentUpdate Définissez cette option sur false pour créer un élément de liste.

Réponses

Nom Type Description
200 OK Booléen Opération réussie
{
  "value": [
    {
      "ErrorMessage": null,
      "FieldName": "Title",
      "FieldValue": "Item",
      "HasException": false,
      "ItemId": 0
    },
    {
      "ErrorMessage": null,
      "FieldName": "Id",
      "FieldValue": "1",
      "HasException": false,
      "ItemId": 0
    }
  ]
}

La propriété value contient la liste des propriétés qui ont été définies lors de la création de l’élément de liste.

Mettre à jour l’élément de liste

L’exemple ci-après montre comment mettre à jour un élément de liste.

Remarque

Pour effectuer cette opération, vous devez connaître la propriété ListItemEntityTypeFullName de la liste et la transmettre comme valeur de type dans le corps de la requête 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"
}

Supprimer l’élément de liste

L’exemple suivant montre comment supprimer un élément de liste.

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"

Utilisation de valeurs ETag pour déterminer la version des documents et des éléments de liste

Le service REST SharePoint, conforme à la norme OData, utilise des en-têtes ETag dans les éléments de liste et les listes SharePoint. Pour vérifier la version d’un élément quand vous effectuez une requête PUT, MERGE ou DELETE, spécifiez une valeur ETag dans l’en-tête de requête HTTP If-Match.

Si la valeur ETag spécifiée dans votre demande ne correspond pas à la valeur ETag du document ou de l’élément de liste sur le serveur, le service REST renvoie une exception 412, conformément à la spécification OData.

  • Pour forcer le remplacement d’un élément indépendamment de sa version, définissez la valeur ETag sur "*".
  • Si vous ne spécifiez aucune valeur ETag, SharePoint remplace l’élément sans tenir compte de sa version.

Dans SharePoint, les ETags s’appliquent uniquement aux listes et aux éléments de liste SharePoint.

Voir aussi