Kategorija Arhīvs: SharePoint Web pakalpojumus

Kā norādīt cilvēkus kā meklēšanas tvērumu / Satura avotu, kas izmanto SharePoint 2013 PĀRĒJIE API

Man nebija iemesla strādāt ar SharePoint 2013 Meklēšanas API caur atpūtu, pirmo reizi. Gribēja, lai meklētu cilvēkus, nav dokumentu. Mācīšanās, šeit ir tas, ka galvenais norādīt satura avotus, izmantojot tās GUID (vai vismaz šajā gadījumā). Šādas jQuery fragments parāda cik:

    loadExpertsAsync: funkcija() {

        jQuery.support.cors = patiess;

        $.Ajax({
            URL: tas.CreateFullApiUrl() +
                "?querytext = "portāls"&sourceID = = 'b09a7990-05ea-4af9-81ef-edfab16c4e31'" +
                "&selectproperties ='LinkedInProfileUrl,GoogleCirclesProfileUrl,BALargeProfilePictureUrls,BAGridPictures,WorkEmail,Prasmes,AboutMe,Intereses,JobTitle,PastProjects,PictureURL,PreferredName,TwitterHandle,LinkedInProfileUrl,PreferredName,GoogleCirclesProfileUrl'" +
                "&rowlimit = 99",
            metode: "IEGŪT",
            galvenes: { "Akceptēt": "pieteikums/json; oData = runīgs" },
            kešatmiņa: viltus,
            panākumi: funkcija (rezultāts) {

Manā gadījumā, Esmu darbojas API pret SharePoint online. Lai iegūtu GUID, Pēc šo soļu veikšanas:

  1. Piekļūt SharePoint administrēšanas centru
  2. Izvēlieties "meklēt", no kreisās puses navigācijas
  3. Izvēlieties "Manage rezultātu avotus"
  4. Izvēlieties "Vietējie rezultāti"
  5. Paskaties uz URL.

Mans URL izskatās kaut kas līdzīgs:

https://xyzzy-admin.sharepoint.com/_layouts/15/searchadmin/EditResultSource.aspx?level=tenant&sourceid=b09a7990%2D05ea%2D4af9%2D81ef%2Dedfab16c4e31&view=1

SourceID = parametrs ir tas, kas strādāja par mani.

(Es saprotu, ka sourceID = faktiski var būt sava veida pastāvīga lieta ar SP, but I’ll always check anyway 🙂 ).

</beigās>

undefinedAbonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin

Lists.asmx, GetListItems un mapes

Es darīja daži pētījumi par kādu šodien ap list.asmx web pakalpojumu, kas norādīta kā daļa no SharePoint 2010 (un vecākas versijas).  Viņa bija iespēja saņemt saraksta elementus pie saknes mapē (iekļaujot apakšmapes nosaukumu), bet nevarēja saņemt vienumus apakšmapes.  I did dažas skatos uz internets, un tas ir pārsteidzoši bieži uzdotiem jautājumiem.  Vēl, Nevarēja iegūt labu atbildi uz pavisam vienkāršu jautājumu, "ja es zinu, ka mape, kā mape saņemt vienumus?”  Lai būtu godīgi, Man nav mēģināt tik grūti, jo esmu vēlējies skaitlis this one out uz savu laiku smaids.

To iestatīt, Izveidotā vietne ar nosaukumu "Blogošana scenāriji" un pielāgotu sarakstu ar nosaukumu "Pielāgotu sarakstu ar Sub mapes".  Es tad radīja mapes ar nosaukumu:

  • Gads 2005
  • Gads 2006
  • Gads 2007

Es pievieno dažus vienumus uz mapi "2006. gadā".  Tas ir kā tas izskatās:

image

Mans draugs nav C# koda rakstīšanu, bet drīzāk izmantojot Java, SOAP aploksne bija viņai vajadzēja.  Lai iegūtu, ka, Wrote mazliet jQuery, un pēc tam izmantot vijolnieks, lai iegūtu faktisko HTTP saruna.

Šeit ir attiecīgās jQuery (Es kopēt kodu nosaka zemāk, ja vēlaties kopēt un ielīmēt):

image

Tās pirmais galvenais ir, lai iekļautu gan <queryOptions> un <QueryOptions> mezglu.  Otrā atslēga ir tas, ka <Mapi> mezgls ir URL, uz kuru klients var piekļūt.

Var būt citi veidi, kā iegūt šo, bet tas strādāja labi, par mani, izmantojot jQuery.

Šeit ir iepriekš SOAP aploksne:

<soapenv:Aploksnes xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’>                
  <soapenv:Organizācija>
    <GetListItems xmlns =’
http://schemas.Microsoft.com/SharePoint/SOAP/’>
      <listName>Pielāgotu sarakstu apakšgrupas mapes</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef nosaukums = "virsraksts’ />
          <FieldRef nosaukums = "EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Mapi>
http://demoserver1 un emuāri Scenāriji/saraksti/pielāgotu sarakstu ar Sub mapes/Year 2006</Mapi>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Organizācija>
</soapenv:Aploksne>

Daudz piemēru un diskusijas ap šo lika man domāt, ka viss, kas man ir nepieciešams, ir <QueryOptions> un norādiet mapes nosaukumu.  Man, Man vajag, lai gan wrap to iekšpusē <queryOptions> kā arī norādīt pilnu URL <Mapi> mezgls.

Šeit ir jQuery AJAX setup:

$(dokumentu).gatavs(funkcija() {
       var soapEnv =
           "<soapenv:Aploksnes xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’> \
               <soapenv:Organizācija> \
                    <GetListItems xmlns =’http://schemas.Microsoft.com/SharePoint/SOAP/’> \
                       <listName>Pielāgotu sarakstu apakšgrupas mapes</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef nosaukums = "virsraksts’ /> \
                              <FieldRef nosaukums = "EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Mapi>http://demoserver1/Blogging Scenāriji/saraksti/pielāgotu sarakstu ar Sub mapes/Year 2006</Mapi> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Organizācija> \
           </soapenv:Aploksne>";

</beigās>

Abonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin

Lists.asmx, GetList un "vērtība nevar būt null”

Šodien es atklāju, ka GetList() metode Lists.asmx Web pakalpojumā ir saukt ļoti uzmanīgi vai ir nosliece uz mest, noslēpumaino "Vērtība nevar būt null" Izņēmums (un pieņemot, ka jūs varat iegūt agrāk vēl sliktāk vispārīgs kļūdas ziņojums, "Tipa izņēmumu ' Microsoft.SharePoint.SoapServer.SoapServerException’ sviež.")  Īpaši, Es atklāju, ka jūs nevarat sniegt jebkādu prefiksa GetList metodi.  Šādas jQuery fragments ilustrē punkts:

image

Ja jūs to izdarītu, tīmekļa serviss atbild ar "Vērtība nevar būt null" saskaņā ar šo vijolnieks-Ja HTTP transcript:

<?XML version = "1.0" Encoding = "utf-8"?>
  <ziepes:Aploksne
     xmlns:ziepju ="
http://schemas.xmlsoap.org/SOAP/Envelope/"    
     xmlns:XSi = "
http://www.w3.org/2001/XMLSchema-instance
     xmlns:xsd ="
http://www.w3.org/2001/XMLSchema">

  <ziepes:Organizācija>
    <ziepes:Vaina>
      <faultcode>ziepes:Servera</faultcode>
      <faultstring>
        Tipu, izņemot "Microsoft.SharePoint.SoapServer.SoapServerException’ sviež.
      </faultstring>
      <detaļu>
        <errorstring xmlns ="
http://schemas.Microsoft.com/SharePoint/SOAP/">
Vērtība nevar būt null.
        </errorstring>
      </detaļu>
    </ziepes:Vaina>
  </ziepes:Organizācija>
</ziepes:Aploksne>

protams, ka "s0" prefikss nebūtu iespējams pievienot savu, bet daži instrumenti ir pakļauti to darīt (piemēram, Eclipse).

Tas ir vēl neskaidra / nomākta, jo citas metodes panest prefiksus.  Piemēram, uz GetListCollection metode nav prātā, ja tas ir iepriekš, pat ar absurds priedēkļus, piemēram, "xyzzy":

image

Šī "vērtība nevar būt null" šķiet samērā izplatīta ar lists.asmx, tādēļ, cerams, tas palīdzēs kāds no nākotnē.

</beigās>

Abonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin