Rest API Sharepoint 2016 et Metadata

Anonyme
2022-11-18T21:52:52+00:00

Bonjour,

Nous avons la configuration ci-dessous :

Sharepoint 2016 on premise

Sharepoint designer 2013.

J'ai un site dans lequel j'ai une liste contenant des dossiers de type "document set". Dans ces dossiers, les utilisateurs déposent des documents associés à un type de contenu qui comporte 2 champs de type "metadata". Le département qui utilise ce site, souhaiterait archiver les dossiers dans une autre liste.

J'ai donc créé une nouvelle liste nommée "archive" dans le site. Puis, je tente de créer un workflow 2013 pour copier le document et sélectionner tout son contenu dans la liste archive. Pour ce faire, j'ai ajouté une case à cocher nommée "archivé" et je valide dans le workflow que la case est bien activée. Si c'est le cas, je me connecte sur la liste archive et je créé un nouveau dossier de type "document set" à partir du même type de contenu que la liste originale. Je parcours les propriétés du dossier de la liste originale afin de copier dans des variables les différentes informations. De cette manière j'ai été en mesure de créer un "document set" vide dans la liste archive contenant l'ensemble des propriétés du dossier original.

Je tente maintenant de récupérer toutes les propriétés des fichiers contenus dans le dossier original pour les envoyer eux aussi dans des variables afin de pouvoir

copier le ou les fichiers du dossier original vers le dossier créé en archive. Pour le moment j'arrive à récupérer le Titre et le Nom des documents qui se trouvent dans le dossier en plus de savoir le nombre de document. Pour ce faire j'utilise les rest api avec la requête http ci-dessous :

http://mon_site/sites/cdr/_api/Web/GetFolderByServerRelativeUrl('/sites/cdr/Reclamation/001%20-%20Test%20de%20réclamation')/Files?$Select=Title,Name

J'ai testé beaucoup de manières pour tenter d'aller récupérer les 2 champs de type "metadata". Lorsque je modifie le /Files pour ceci, j'arrive à récupérer le label d'un des champs.

/Files?$Select=ListItemAllFields/RubriqueReclamation/Label&$expand=ListItemAllFields/RubriqueReclamation/Label

Si je teste la même structure avec le second champ, le workflow est suspendu avec une erreur de texte "Valeur de texte non valide. Un champ texte contient des données non valides. Vérifiez la valeur, puis réessayez." À force de chercher et de tester, j'en suis venu à la conclusion que le problème était la longueur totale de la requête HTTP. Lorsque je la copie dans Internet Explorer ou Google Chrome, elle fonctionne je vois les informations listées. Mais dans mon workflow, elle tombe en erreur.

Y a-t-il moyen d'écrire les requêtes autrement afin que le système les accepte avec plus de 250 caractères ?

J'ai tenté de changer la requête pour celle-ci :

_api/Web/Lists(guid'E6399960-643D-4E63-8F10-51371C3E9AFC')/Items(16)/RubriqueReclamation/Label

Mais elle aussi semble trop longue.

Merci.

Microsoft 365 et Office | SharePoint | Pour le business | Autres

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

1 réponse

  1. Anonyme
    2022-11-21T08:20:05+00:00

    Bonjour,Merci d’avoir écrit dans le forum de Microsoft 365Pour des questions SharePoint Serveur (On prémisse) vous pouvez poser vos questions sur l'adresse suivante : SharePoint - Microsoft Community HubIci c'est pour des questions et discussions pour les utilisateurs de SharePoint Online (dans Microsoft 365).Bon courage par la suite.Cordialement,Mihail

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire