Lists.asmx, GetListItems 和資料夾

我做了一些調查有人今天周圍作為 SharePoint 的一部分提供的 list.asmx web 服務 2010 (及更早版本).  她之所以能夠獲得在根資料夾的清單項 (包括子資料夾的名稱), 但不能在子資料夾中的專案。  我做了一些環顧四周在互聯網絡上,這是一個令人驚訝的常見的問題。  然而, 沒能得到很好簡單問題的答案, "如果我知道該資料夾, 如何獲取資料夾中的專案?”  要誠實, 因為我想我自己對這一出圖了一會兒我並沒有試圖在所有的努力 微笑.

進行此設置, 我創建了名為"博客情境"網站和自訂清單名稱為"自訂清單的子資料夾"。  然後創建資料夾名:

  • 一年 2005
  • 一年 2006
  • 一年 2007

我添加的資料夾"2006 年"幾個專案。  這是它看起來像:

image

我的朋友並不是編寫 C# 代碼,但寧願使用 Java, 所以 SOAP 信封是她的真正需要。  達到目標,, 寫了有點 jQuery,然後用於小提琴手獲得實際的 HTTP 會話.

這裡是有關 jQuery (我複製代碼下下麵如果要複製/粘貼):

image

他們第一個關鍵是要包括兩個 <queryOptions> 和 <QueryOptions> 節點。  第二個關鍵是, <資料夾> 節點是一個 URL,用戶端可以訪問.

可能有其他方法來獲得這, 但這工作對我來說,使用 jQuery 時.

這裡是上述的 SOAP 信封:

<soapenv:信封 xmlns:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’>                
  <soapenv:正文>
    <GetListItems xmlns =’
http://schemas.microsoft.com/sharepoint/soap/’>
      <listName>自訂清單的子資料夾</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef 名稱 =' 標題’ />
          <FieldRef 名稱 ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <資料夾>
http://demoserver1/博客 子資料夾/2006 年年方案/清單/自訂清單</資料夾>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:正文>
</soapenv:信封>

很多例子和討論圍繞這讓我相信我所需要的是 <QueryOptions> 並指定資料夾名稱。  對我來說, 我需要這兩包內 <queryOptions> 也可以指定完全限定的 URL <資料夾> 節點.

這裡是 jQuery AJAX 安裝程式:

$(文檔).準備好了(功能() {
       var soapEnv =
           "<soapenv:信封 xmlns:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’> \
               <soapenv:正文> \
                    <GetListItems xmlns =’http://schemas.microsoft.com/sharepoint/soap/’> \
                       <listName>自訂清單的子資料夾</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef 名稱 =' 標題’ /> \
                              <FieldRef 名稱 ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <資料夾>http://demoserver1/Blogging 子資料夾/2006 年年方案/清單/自訂清單</資料夾> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:正文> \
           </soapenv:信封>";

</結束>

訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

6 上“的想法Lists.asmx, GetListItems 和資料夾

  1. 丹尼爾 ·

    你好

    我想顯示使用 SPD 的特定資料夾下的文檔 2010 資料來源 GetListItems

    一旦連接到我的 web 服務,並為文件庫輸入的 guid
    我可以修改 QueryOptions,輸入 CAML 下面這段
    法規遵從性 TrainingCompanyX.

    只是這並不會返回任何結果 – 移除 QueryOptions 參數返回根文件庫中的所有檔….

    我看著有點傳遞一些查看參數,包括視圖的 guid.

    答覆
    1. 保羅 · 高爾文 文章作者

      這是很老的帖子/評論所以很抱歉永遠不會回復. 我假設你長既然想出如何繼續.

      答覆
  2. 鮑勃 · 博爾頓

    還行, 看起來像它去掉了 xml… 只是下面的英鎊標誌替換為燕尾形.

    #queryOptions #
    #QueryOptions #
    #ViewAttributes 範圍 = 'RecursiveAll' / #
    #/QueryOptions #
    #/queryOptions #

    答覆
  3. 道格

    謝謝這篇文章的一群, 保羅 ·. 我一直試圖通過 ColdFusion cfHTTP 消耗 GetListItems, 不能馬上信封. 最終偶然發現這篇文章, 和你出過任何差錯的例子. 再次感謝.

    答覆
  4. 道格

    BTW – 你知道的一種資源,其中列出了所有的適當的 soap 信封嗎? 一,GetList 專案發表在 microsoft.com 上都不匹配你在這兒…

    答覆

離開一個答覆 保羅 · 高爾文 取消回复

您的電子郵件地址不會被公開. 必需的地方已做標記 *