当我从特定的SharePoint服务器获取我的客户端程序的所有列表时,我会收到很多这些列表,但我想向用户仅显示文档库。我怎样才能做到这一点?我看到一个图书馆可以被命名为任何东西,而不仅仅是“共享文件”,所以必须有另一种可能性?我目前正在使用WSS / SOAP并使用GetListsCollection方法与_vti_bin / lists.asmx服务进行通信,但任何线索都会有所帮助。
我的代码
var getSharepointDocumentLibrary =''+ ''+ ''+ ''+ ''+ '';
try {
$.ajax({
url: url,
type: "POST",
dataType: "xml",
data: getSharepointDocumentLibrary,
username: domainName + "\\" + userName,
password: passWord,
crossDomain: true,
headers: {
//"SOAPAction": "http://schemas.microsoft.com/sharepoint/soap/GetList",
"SOAPAction": "http://schemas.microsoft.com/sharepoint/soap/GetListCollection",
"Content-Type": "text/xml; charset=utf-8",
"Origin": "*",
"Access-Control-Request-Method": "POST",
"Access-Control-Request-Headers": "accept, authorization, origin, X-Custom-Header",
"Authorization": 'Basic ' + window.btoa(unescape(encodeURIComponent(domainName + "\\" + userName + ':' + passWord)))
},
}).done(function (xmlDoc, status, responseObj) {
alert('success');
//alert(responseObj.responseText);
//// addOptionInSelectize("serverNames", serverName, serverName);
//// changeSelectionByValue("serverNames", serverName);
// changeSelectionByValue("serverNames", serverName);
addServerInDropDownList(serverName,domainName);
navigate('indexPage', 'homePage');
})
.fail(function (xmlDoc, status, responseObj) {
alert('failure');
alert(xmlDoc.status);
alert(xmlDoc.message);
$("#loginPopup2").show();
//alert(responseObj.responseText);
})
答案 0 :(得分:0)
您可以根据每个List节点的ServerTemplate属性从Web服务响应中识别文档库。 101中的文档库的ServerTemplate值。因此,您只需要从响应中提取具有ServerTemplate =“101”的所有List节点以获取所有文档库。
有关ServerTemplate代码的完整列表,请参阅下面的MSDN链接:
https://msdn.microsoft.com/en-us/library/hh658949%28v=office.12%29.aspx