gpt4 book ai didi

javascript - SharePoint 2013获取用户在JavaScript中创建的文档库

转载 作者:行者123 更新时间:2023-12-03 06:18:51 28 4
gpt4 key购买 nike

您好,我正在尝试获取仅由登录用户创建的所有文档库。通过以下代码,我还获得了不是由用户创建的库。谢谢。

function GetAllLibraries() {
var listCollection = lists.getEnumerator();
while (listCollection.moveNext()) {
var listName = listCollection.get_current().get_title('Title');
document.getElementById('leftDiv').innerHTML += "<b>" + listName + "<b/>" + "<br />";
}
}

最佳答案

由于您正在使用SharePoint JavaScript API (又名 JSOM)这有点棘手,因为 SP.List object不公开 Author 属性来确定谁创建了该对象。但好消息是 Author 属性可以从 SP.List.schemaXml property 中提取。如下所示

这是一个完整的示例,如何检索当前用户创建的列表

var ctx = SP.ClientContext.get_current();
var allLists = ctx.get_web().get_lists();
var currentUser = ctx.get_web().get_currentUser();
ctx.load(allLists,'Include(SchemaXml)');
ctx.load(currentUser);
ctx.executeQueryAsync(
function(){


var lists = allLists.get_data().filter(function(list){
var listProperties = schemaXml2Json(list.get_schemaXml());
var listAuthorId = parseInt(listProperties.Author);
return listAuthorId == currentUser.get_id();
});

console.log("The amount of lists created by current user: " + lists.length);
},
logError);

}


function schemaXml2Json(schemaXml)
{
var jsonObject = {};
var schemaXmlDoc = $.parseXML(schemaXml);
$(schemaXmlDoc).find('List').each(function() {
$.each(this.attributes, function(i, attr){
jsonObject[attr.name] = attr.value;
});
});
return jsonObject;
}




function logError(sender,args){
console.log(args.get_message());
}

关于javascript - SharePoint 2013获取用户在JavaScript中创建的文档库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38957030/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com