Cartlanna Catagóire: SharePoint Seirbhísí Gréasáin

Conas a Daoine Sonraigh mar Scóip Cuardaigh / Ábhar Foinse Ag baint úsáide as SharePoint 2013 REST API

I had reason to work with the SharePoint 2013 Search API via REST for the first time. I wanted to search for people, not documents. The key learning here is that you specify content sources via its GUID (or at least in this case). The following jQuery snippet shows how:

    loadExpertsAsync: fheidhm() {

        jQuery.support.cors = fíor;

        $.ajax({
            moladh: seo.CreateFullApiUrl() +
                "?querytext='portals'&sourceid='b09a7990-05ea-4af9-81ef-edfab16c4e31'" +
                "&selectproperties='LinkedInProfileUrl,GoogleCirclesProfileUrl,BALargeProfilePictureUrls,BAGridPictures,WorkEmail,Skills,AboutMe,Interests,JobTitle,PastProjects,PictureURL,PreferredName,TwitterHandle,LinkedInProfileUrl,PreferredName,GoogleCirclesProfileUrl'" +
                "&rowlimit=99",
            modh: "GET",
            headers: { "Accept": "application/json; odata=verbose" },
            cache: bréagach,
            success: fheidhm (mar thoradh ar) {

I mo chás, I’m running the API against SharePoint online. To get the GUID, I followed these steps:

  1. Access the SharePoint admin center
  2. Select “search” from the left hand navigation
  3. Select “Manage Result Sources”
  4. Select “Local People Results”
  5. Look at the URL.

My URL looked something like:

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

The sourceid parameter is what worked for me.

(I understand that the sourceid may actually be a sort of permanent thing with SP, but I’ll always check anyway 🙂 ).

</deireadh>

undefinedLiostáil le mo bhlag.

Lean mé ar Twitter ag http://www.twitter.com/pagalvin

Lists.asmx, GetListItems agus Fillteáin

Bhí mé ag déanamh roinnt taighde a dhéanamh do dhuine lá atá inniu ann ar fud na seirbhíse gréasáin list.asmx ar fáil mar chuid de SharePoint 2010 (agus níos luaithe).  Bhí sí in ann a fháil ar na míreanna liosta ag an fillteán fhréamh (lena n-áirítear ainmneacha na fo-fhillteáin), Ní fhéadfaí ach a fháil míreanna i bhfo-folders.  I raibh roinnt féachaint timpeall ar an Internets agus tá sé ina ceist ionadh coiteann.  Ach, Ní raibh mé in ann freagra maith a fháil chun an cheist shimplí, "Má tá a fhios agam an fillteán, conas is féidir liom a fháil ar na míreanna san fhillteán?"  Chun a bheith macánta, Ní raibh mé iarracht a dhéanamh go léir go crua ó bhí mé ag iarraidh chun an figiúr seo ar cheann amach ar mo chuid féin ar feadh tamaill Smile.

A shocrú suas seo, Chruthaigh mé suíomh ainmnithe "Cásanna Blagadóireacht" agus liosta saincheaptha darb ainm "Liosta Chustaim le Fillteáin Fo".  Chruthaigh mé ansin fillteáin ainmnithe:

  • Bliain 2005
  • Bliain 2006
  • Bliain 2007

Dúirt mé freisin ar roinnt rudaí ar an bhfillteán "Bliain 2006".  Is é seo a tá sé cosúil:

image

Níl mo chara ag scríobh C # cód ach úsáid a bhaint as Java, mar sin bhí an clúdach gallúnach cad a theastaíonn sí i ndáiríre.  Chun a fháil go, Scríobh mé beagán de jQuery agus ansin a úsáidtear fidléir a fháil ar an iarbhír HTTP chomhrá.

Seo an jQuery ábhartha (Chóipeáil mé an cód síos thíos más mian leat a chóipeáil / greamaigh):

image

Tá siad an chéad eochair a chur san áireamh araon <queryOptions> agus <QueryOptions> nód.  Is í an eochair dara go bhfuil an <Fillteán> Is nód URL chun a bhfuil an cliant le rochtain.

D'fhéadfadh go mbeadh slite eile a fháil ar an, ach d'oibrigh sé sin go maith dom nuair a úsáid jQuery.

Seo é an clúdach gallúnach le haghaidh na nithe thuas:

<soapenv:Xmlns Clúdach:soapenv =’http://schemas.xmlsoap.org / gallúnach / clúdach /’>                
  <soapenv:Comhlacht>
    <Xmlns = GetListItems’
http://schemas.microsoft.com / SharePoint / gallúnach /’>
      <listname>Liosta Chustaim le Fillteáin Fo</listname>
      <viewFields>  
        <ViewFields>
          <FieldRef Ainm = 'Teideal’ />
          <FieldRef Ainm = 'EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Fillteán>
http://demoserver1/Blogging Cásanna / liostaí / Liosta Chustaim le Fillteáin Fo / Bliain 2006</Fillteán>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Comhlacht>
</soapenv:Clúdach>

A lán de na samplaí agus plé ar fud seo faoi stiúir dom chun a chreidiúint go raibh go léir is gá dom a <QueryOptions> agus a shonrú ainm fillteán.  Maidir liom féin, Is gá dom a araon wrap sé taobh istigh <queryOptions> chomh maith a shonrú mar URL lán-cháilithe don <Fillteán> nód.

Seo an jQuery AJAX thus:

$(doiciméad).réidh(fheidhm() {
       Bhí soapEnv =
           "<soapenv:Xmlns Clúdach:soapenv =’http://schemas.xmlsoap.org / gallúnach / clúdach /’> \
               <soapenv:Comhlacht> \
                    <Xmlns = GetListItems’http://schemas.microsoft.com / SharePoint / gallúnach /’> \
                       <listname>Liosta Chustaim le Fillteáin Fo</listname> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef Ainm = 'Teideal’ /> \
                              <FieldRef Ainm = 'EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Fillteán>http://demoserver1/Blogging Cásanna / liostaí / Liosta Chustaim le Fillteáin Fo / Bliain 2006</Fillteán> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Comhlacht> \
           </soapenv:Clúdach>";

</deireadh>

Liostáil le mo bhlag.

Lean mé ar Twitter ag http://www.twitter.com/pagalvin

Lists.asmx, Ní féidir GetList agus "Luach a bheith null”

Fuair ​​mé amach inniu go bhfuil an GetList() modh i lists.asmx Tá seirbhís gréasáin a bheith ar a dtugtar go han-chúramach nó tá sé seans maith le caith mistéireach "Luach ní féidir a bheith null" eisceacht (agus go bhfuil glacadh leis gur féidir leat a fháil anuas ar an teachtaireacht earráide níos measa fós cineálach, “Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ Bhí thrown. ")  Go sonrach, Chinn mé nach féidir leat a chur ar fáil de chineál ar bith réimír ar an modh GetList.  Léiríonn an Blúire jQuery seo a leanas an pointe:

image

Má dhéanann tú sin, bhfreagraíonn an tseirbhís gréasáin le "Ní féidir luach a bheith null" de réir an fidléir-ar choinníoll HTTP athscríbhinn:

<?xml version = "1.0" encoding="utf-8"?>
  <gallúnach:Clúdach
     xmlns:gallúnach ="
http://schemas.xmlsoap.org / gallúnach / clúdach /"    
     xmlns:xsi = "
http://www.w3.org/2001/XMLSchema-instance"
     xmlns:XSD ="
http://www.w3.org/2001/XMLSchema">

  <gallúnach:Comhlacht>
    <gallúnach:Locht>
      <faultcode>gallúnach:Freastalaí</faultcode>
      <faultstring>
        Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ bhí thrown.
      </faultstring>
      <mion>
        <xmlns teaghrán earráid ="
http://schemas.microsoft.com / SharePoint / gallúnach /">
Ní féidir luach a bheith ar neamhní.
        </errorstring>
      </mion>
    </gallúnach:Locht>
  </gallúnach:Comhlacht>
</gallúnach:Clúdach>

Ar ndóigh,, nach mbeadh tú a chur ar dócha go bhfuil "S0" réimír ar do chuid féin, ach tá roinnt uirlisí seans maith é a dhéanamh (cosúil Eclipse).

Is é seo go léir an níos mearbhall / frustrating toisc modhanna eile fhulaingt réimíreanna.  Mar shampla, an GetListCollection Ní modh aigne má tá sé curtha réimír, fiú le réimíreanna nonsense cosúil le "xyzzy":

image

Seo "Ní féidir luach a bheith null" Is cosúil go coitianta go leor le lists.asmx sin tá súil againn go mbeidh sé seo cabhrú le duine éigin amach sa todhchaí.

</deireadh>

Liostáil le mo bhlag.

Lean mé ar Twitter ag http://www.twitter.com/pagalvin