Lists.asmx, GetListItems a Folders

Roeddwn yn gwneud rhywfaint o waith ymchwil i rywun heddiw o amgylch y gwasanaeth we list.asmx a ddarperir fel rhan o SharePoint 2010 (ac yn gynharach).  Roedd hi'n gallu cael yr eitemau rhestr ar y ffolder wraidd (gan gynnwys enwau is-ffolderi), ond ni allai gael eitemau yn is-ffolderi.  I ddim yn rhai edrych o gwmpas ar y internets ac mae'n gwestiwn rhyfeddol o gyffredin.  Eto, Nid oeddwn yn gallu cael ateb da i'r cwestiwn syml, "Os wyf yn gwybod y ffolder, sut ydw i'n cael y eitemau yn y ffolder?"  I fod yn onest, Doeddwn i ddim yn ceisio bob un sy'n caled ers i mi wedi bod eisiau i ffigur hwn allan ar fy mhen fy hun am gyfnod Smile.

I osod hyn i fyny, Yr wyf yn creu safle o'r enw "Senarios Blogio" a rhestr arfer o'r enw "Rhestr Custom gyda Is Folders".  Yna greu ffolderi a enwir:

  • Blwyddyn 2005
  • Blwyddyn 2006
  • Blwyddyn 2007

I ychwanegu ychydig o eitemau at 'r folder "Blwyddyn 2006".  Dyma sut mae'n edrych:

image

Nid yw fy ffrind yn ysgrifennu C # cod, ond yn hytrach gan ddefnyddio Java, felly yr amlen SOAP oedd beth oedd gwir angen.  Er mwyn cael y, Ysgrifennais ychydig o jQuery ac a ddefnyddir wedyn ffidlwr i gael y sgwrs HTTP gwirioneddol.

Dyma y jQuery perthnasol (I gopïo y cod i lawr isod os ydych am gopi / past):

image

Maent yn allweddol cyntaf yw cynnwys ill dau <queryOptions> a <QueryOptions> nod.  Yr ail allweddol yw bod y <Folder> nod yw URL y mae gan y cleient fynediad.

Gall fod ffyrdd eraill o gael y, ond mae hyn yn gweithio'n dda i mi wrth ddefnyddio jQuery.

Dyma'r amlen SOAP ar gyfer yr uchod:

<soapenv:Xmlns Amlen:soapenv =’http://schemas.xmlsoap.org / sebon / amlen /’>                
  <soapenv:Corff>
    <Xmlns GetListItems =’
http://schemas.microsoft.com / sharepoint / sebon /’>
      <Collddail>Rhestr Custom gyda Is-Folders</Collddail>
      <viewFields>  
        <ViewFields>
          <FieldRef Enw = 'Teitl’ />
          <FieldRef Enw = 'EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Folder>
http://demoserver1/Blogging Senarios / rhestrau / Rhestr Custom gyda Is Folders / Flwyddyn 2006</Folder>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Corff>
</soapenv:Amlen>

Mae llawer o enghreifftiau a thrafodaeth o gwmpas hyn fy arwain i gredu bod yr holl ei angen arnaf yn <QueryOptions> ac yn nodi enw ffolder.  I mi, Mae angen i'r ddau lapio y tu mewn i <queryOptions> yn ogystal â nodi URL hollol gymwys ar gyfer y <Folder> nod.

Dyma y setup AJAX jQuery:

$(dogfen).barod(swyddogaeth() {
       Roedd soapEnv =
           "<soapenv:Xmlns Amlen:soapenv =’http://schemas.xmlsoap.org / sebon / amlen /’> \
               <soapenv:Corff> \
                    <Xmlns GetListItems =’http://schemas.microsoft.com / sharepoint / sebon /’> \
                       <Collddail>Rhestr Custom gyda Is-Folders</Collddail> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef Enw = 'Teitl’ /> \
                              <FieldRef Enw = 'EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Folder>http://demoserver1/Blogging Senarios / rhestrau / Rhestr Custom gyda Is Folders / Flwyddyn 2006</Folder> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Corff> \
           </soapenv:Amlen>";

</diwedd>

Tanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin

6 meddyliau ar "Lists.asmx, GetListItems a Folders

  1. Daniel

    Hi

    Yr wyf yn ceisio arddangos y dogfennau o dan ffolder penodol gan ddefnyddio'r ddogfen raglennu sengl 2010 GetListItems ffynhonnell data

    Unwaith y byddaf yn cysylltu â'i 'm gwasanaeth gwe ac Rhowch y guid ar gyfer Llyfrgell y ddogfen
    Gallaf addasu y QueryOptions a rhowch y darn canlynol o CAML
    TrainingCompanyX cydymffurfio.

    Nad yw hyn yn unig yn dychwelyd unrhyw ganlyniadau – Mae dileu y paramedr QueryOptions dychwelyd holl ddogfennau yn y Llyfrgell ddogfen gwraidd….

    Yr wyf yr edrych ar basio rhai math o weld paramedr a gynnwys guid barn.

    Ateb
    1. Paul Galvin awdur Post

      Mae hyn yn hen iawn swydd/sylw felly mae'n ddrwg gennyf am byth yn ateb. Cymeraf eich hir ers penderfynu sut i symud ymlaen.

      Ateb
  2. Bob Bolton

    iawn, edrych fel roedd ei ddileu'n xml… Dim ond yr arwyddion bunt isod le chevrons.

    #queryOptions #
    #QueryOptions #
    #Cwmpas ViewAttributes = 'RecursiveAll' / #
    #/QueryOptions #
    #/queryOptions #

    Ateb
  3. Doug

    Diolch yn griw ar gyfer y swydd, Paul. Rydw i wedi bod yn ceisio bwyta GetListItems drwy ColdFusion cfhttp, ac na allai gael yr hawl amlen. Yn y pen draw daeth ar draws y swydd hon, a bod eich enghraifft yn gweithio flawlessly. Diolch unwaith eto.

    Ateb
  4. Doug

    Bron Brawf Cymru – ydych chi'n gwybod o adnodd sy'n rhestru'r holl amlenni sebon priodol? Nid yw'r un ar gyfer Eitemau GetList a gyhoeddwyd ar microsoft.com yn cyd-fynd eich bod yma,…

    Ateb

Ad a Ateb i Paul Galvin Diddymu ateb

Ni fydd eich cyfeiriad e-bost yn cael ei gyhoeddi. Meysydd gofynnol yn cael eu marcio *