【问题标题】:sharepoint 2010 GetFolderByServerRelativeUrl not workingsharepoint 2010 GetFolderByServerRelativeUrl 不起作用
【发布时间】:2018-05-03 20:38:37
【问题描述】:
版本:Sharepoint 2010
由 Apps4rent 托管
使用 sharepoint 2013 我能够使用 _api/Web/GetFolderByServerRelativeUrl('') API 调用获取文件夹和文件
但是对于 sharepoint 2010 实例,如果我尝试 _api/Web/GetFolderByServerRelativeUrl('') 这个 API,它会给出 404 错误。
如果我在这里做错了,请纠正我
【问题讨论】:
标签:
api
sharepoint
sharepoint-2010
【解决方案2】:
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>