版本:Sharepoint 2010 由Apps4rent主办 使用sharepoint 2013我能够使用_api / Web / GetFolderByServerRelativeUrl('')API调用获取文件夹和文件 但是对于sharepoint 2010实例,如果我尝试使用_api / Web / GetFolderByServerRelativeUrl('')此API,则会出现404错误。 如果我在这里做错了,请纠正我
答案 0 :(得分:1)
是。 SharePoint 2010不支持REST API
,但您可以使用listdata.svc
服务。
参考下面的代码。这应该适合你:
'https://abc.abcd.com/sites/RohitW/_vti_bin/Listdata.svc/DocLibTest2?$ filter = endswith(Path,'folder1')'
注意: 这里我们试图将文件存在于文档库的特定文件夹(即folder1)中(即DocLibTest2)
DocLibTest2
是文档库的名称。
folder1
是DocLibTest2
参考:http://www.sharepointnadeem.com/2012/08/enumerating-items-inside-folder-using.html
答案 1 :(得分:0)
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.log(fileUrl);
}
}
function OnFailure(sender, args) {
alert("Failed. Message:" + args.get_message());
}
</script>