如何在Sharepoint 2013中通过其标题获取网站的URL?



我需要链接到给定站点的文档库,我知道我只需要将/Shared%20Documents/Forms/AllItems.aspx附加到站点 URL,但是如何获取仅带有标题的站点 URL?

我尝试使用_api/Web/Lists/getByTitle('<Page Title>')/但出现错误,指出该列表在站点中不存在,即使我可以在站点配置中验证确实是标题。

根据您的问题,我不完全确定您要做什么; 但是在阅读您提供的答案后,您需要使用 OData$filter查询选项:

function setDepartmentLink(department){
$.ajax({
url: "_api/web/webs?$select=Url&$filter=Title eq '" + department + "'",
type: "GET",
headers: { "accept": "application/json;odata=verbose" },
success: function (data) {
if(data.d.results.length > 0){
$("#SPDDeptFolderLink").text(department).prop("href", encodeURI(data.d.results[0].Url + "/Shared Files/Forms/AllItems.aspx"));
}
}
});
}

尝试使用正确的列表名称

/_api/Web/Lists/GetByTitle('listname')/Items

上述 api 将生成列表中的所有项目。

或者尝试使用列表的 GUID

/_api/Web/Lists(guid'guid id of your list')

如果您正在寻找列表 guid,

1.转到网站中的列表

2.单击列表或库选项卡,然后单击列表/库设置

3.查看浏览器的地址栏,您将看到如下所示的内容:

http://yourserver/sites/training/_layouts/listedit.aspx?List=%7B81588B61%2D860D%2D4487%2DB81F%2DA1846A37954B%7D

4.复制"列表="之后的所有内容并粘贴到记事本中

您现在应该在记事本中有类似的东西:

%7B81588B61%2D860D%2D4487%2DB81F%2DA1846A37954B%7D 

5.您复制的 GUID 已编码。您现在需要清理它

1.删除开头的"%7B">

2.删除末尾的"%7D">

3.Do 搜索并替换并将"%2D"更改为"-"(短划线(

设法使用以下方法做到这一点:

function setDepartmentLink(department){
$.ajax({
url: "_api/web/webs",
type: "GET",
headers: { "accept": "application/json;odata=verbose" },
success: function (data) {
data.d.results.forEach(function (site) {
if(site.Title === department){
$("#SPDDeptFolderLink").text(department).prop("href", encodeURI(site.Url + "/Shared Files/Forms/AllItems.aspx"));
}
})
}
}

由于我无法找到一种返回给定标题的网站 URL 的方法,我决定遍历所有网站并简单地查找标题。

最新更新