Il est temps de dévoiler un peu de l’Au-delà. 🙂 Au cours d’un travail que j’effectuais pour l’un de nos clients sur SharePoint 2013, les éléments que j’affichais sur une page via une requête REST ont mystérieusement disparu.
Voici ce qu’affichait la console comme message d’erreur :
Value does not fall within the expected range.
Voici la formule magique que j’employais :
/monSite/_api/web/GetFolderByServerRelativeUrl(/MaBibliothèque/MonDossier/)
Après deux ou trois jours de blocage sur ce sujet, j’ai enfin trouvé de quoi il en retournait. Il se fait que cette méthode ne fonctionne pas dans le cadre d’un protocole HTTPS ; ou plutôt, elle fonctionne si l’on est plus précis dans le chemin indiqué dans la méthode. Pour mieux me faire comprendre, je vais lister les différences ci-dessous :
- Si HTTP :
/monSite/_api/web/GetFolderByServerRelativeUrl(/MaBibliothèque/monDossier/)
fonctionne./monSite/_api/web/GetFolderByServerRelativeUrl(/monSite/maBibliothèque/monDossier/)
fonctionne.
- Si HTTPS :
/monSite/_api/web/GetFolderByServerRelativeUrl(/maBibliothèque/monDossier/)
ne fonctionne pas./monSite/_api/web/GetFolderByServerRelativeUrl(/monSite/maBibliothèque/monDossier/)
fonctionne.
Comme vous pouvez le voir, c’est le contexte web (monSite) qui doit être renseigné dans la méthode pour que cela marche sur les deux protocoles. Donc par précaution, autant le renseigner en permanence. 😉
P.S. : Cette solution fonctionne également sur les méthodes du même genre, type GetFileByServerRelativeUrl
.
Merci Igor!
Mais de rien ! 🙂
bonjour auriez vous un exemple complet pour recuperer une image dans une bibliothéque j’avoue que je bloque depuis 3 semaines
ma requete est du type
sp.web.getFolderByServerRelativeUrl(« /xxx_SITE_SBX/ImagesGallery/ImagesFolder »).files.select().expand(« ListItemAllFields »).get();
je ne parviens jamais a obtenir mon images qui se trouve dans le repertoire ImagesFolder
auriez vous une pistes ?
Bonjour Cédric,
Merci pour votre message. Pourriez-vous me dire sur quelle version de SharePoint vous travaillez et si vous avez reçu un ou plusieurs messages d’erreur ?
Est-ce également possible pour vous d’afficher une partie de votre code pour voir un peu le contexte ?
Merci beaucoup. ?