我需要链接到给定站点的文档库,我知道我只需要将/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 的方法,我决定遍历所有网站并简单地查找标题。