如何使用 JSOM 获取 SharePoint 站点中存在的所有文档库的列表?

How do I get the list of all the document libraries present in the SharePoint site using JSOM?

我正在从事的项目之一,我必须获得站点中所有文档库的列表。不确定如何实现这一点,因为我正在使用 Office 365/SharePoint 在线工作。

我有一个协作列表,其中包含在站点 collection 下创建的所有站点的信息。例如,该列表有四个列字段:站点标题、站点描述、站点的 URL Link 和阶段列 (带有选项的选择栏:第一、中级和最终)。因此,使用此列表,尤其是 URL Link 列字段,当有人将阶段值从 First 或 Intermediate 更改为 Final 时,我想获得所有文档库的 object在这些站点中。用户将手动更改每个列表项的阶段值,从 First 或 Intermediate 更改为 Final,反之亦然。

提前致谢。

function getLibraries() {
var context = SP.ClientContext.get_current();
var lists = context.get_web().get_lists();
context.load(lists,'Include(RootFolder, BaseTemplate)');
context.executeQueryAsync(function () {
var enumerator = lists.getEnumerator();
while (enumerator.moveNext()) {
var list = enumerator.get_current();
var rootFolder = list.get_rootFolder();
var url = rootFolder.get_serverRelativeUrl();
if (list.get_baseTemplate() == '101')
{
console.log(url);
console.log(list.get_baseTemplate() );
}

}
},
function (sender, args) {
console.log('error');
});   
}

此代码将帮助您获取所有现有文档库