繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM