我如何知道特定列表是否是文档库?

时间:2016-03-10 10:42:36

标签: sharepoint

当我从特定的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);

                })

1 个答案:

答案 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