версия: Sharepoint 2010 Размещено на Apps4rent с sharepoint 2013 я смог получить папки и файлы с помощью вызова API _api / Web / GetFolderByServerRelativeUrl ('') Но с экземпляром sharepoint 2010, если я попробую _api / Web / GetFolderByServerRelativeUrl ('') этот API, он выдает ошибку 404. Пожалуйста, поправьте меня, если я здесь ошибаюсь
SharePoint 2010 не поддерживает использование Rest API в браузере напрямую, используйте JSOM для его вызова:
<script type = "text/javascript">
ExecuteOrDelayUntilScriptLoaded(getFilesInFolder, 'sp.js');
var files;
function getFilesInFolder() {
var context = SP.ClientContext.get_current();
var web = context.get_web();
var folder = web.getFolderByServerRelativeUrl('/sites/test/Shared%20Documents');
files = folder.get_files();
context.load(files);
context.executeQueryAsync(Function.createDelegate(this, this.OnSuccess), Function.createDelegate(this, this.OnFailure));
}
function OnSuccess()
{
var listItemEnumerator = files.getEnumerator();
while (listItemEnumerator.moveNext()) {
var fileUrl = listItemEnumerator.get_current().get_serverRelativeUrl();
console.info(fileUrl);
}
}
function OnFailure(sender, args) {
alert("Failed. Message:" + args.get_message());
}
</script>
Да. SharePoint 2010 не поддерживает REST API
, но вы можете использовать службу listdata.svc
.
См. Код ниже. Это должно сработать для вас:
'https://abc.abcd.com/sites/RohitW/_vti_bin/Listdata.svc/DocLibTest2? $ Filter =ndswith (Путь,' folder1 ')'
Примечание: Здесь мы пытаемся получить файлы, присутствующие в определенной папке (например, folder1) библиотеки документов (например, DocLibTest2).
DocLibTest2
- это имя библиотеки документов.
folder1
- это имя папки внутри DocLibTest2
.
Ссылка: http://www.sharepointnadeem.com/2012/08/enumerating-items-inside-folder-using.html