[英]How to get a site's URL by its title in Sharepoint 2013?
我需要链接到给定站点的文档库,我知道我只需要将/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')
如果您要查找列表向导,
1.转到站点列表
2.单击“列表”或“库”选项卡,然后单击“列表/库设置”
3.查看浏览器的地址栏,您将看到类似以下内容:
http://yourserver/sites/training/_layouts/listedit.aspx?List=%7B81588B61%2D860D%2D4487%2DB81F%2DA1846A37954B%7D
4.复制“ List =”之后的所有内容并粘贴到记事本中
您现在应该在记事本中输入以下内容:
%7B81588B61%2D860D%2D4487%2DB81F%2DA1846A37954B%7D
5.您复制的GUID已编码。 您现在需要清理它
1.删除开头的“%7B”
2.删除最后的“%7D”
3.进行搜索并替换并将“%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的方法,因此我决定遍历所有网站并仅查找标题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.