Mga Archive ng kategorya: SharePoint Serbisyo sa Web

Paano Upang Tukuyin ang mga tao bilang isang Saklaw ng Paghahanap / Pinagmulan ng Paggamit ng SharePoint Nilalaman 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: tungkulin() {

        jQuery.support.cors = totoo;

        $.ajax({
            url: ito.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",
            pamamaraan: "GET",
            headers: { "Accept": "application/json; odata=verbose" },
            cache: hindi totoo,
            success: tungkulin (magbunga) {

Sa aking kaso, 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 🙂 ).

</dulo>

undefinedMag-subscribe sa aking blog.

Sundin ako sa Twitter sa http://www.twitter.com/pagalvin

Lists.asmx, GetListItems at folder

Ako ay paggawa ng ilang pananaliksik para sa isang tao ngayon sa paligid list.asmx web serbisyo na ibinigay bilang bahagi ng SharePoint 2010 (at mas maaga).  Siya ay upang makakuha ng listahan ng mga item sa folder ng ugat (kabilang ang mga pangalan ng mga sub-folder), ngunit hindi maaaring makakuha ng mga item sa sub-folder.  Ko ng ilang mga naghahanap sa paligid sa internets at ito ay isang nakakagulat na karaniwang tanong.  Pa, Hindi ako maaaring makakuha ng isang magandang sagot sa simpleng tanong, "Kung alam ko ang folder, paano ko makukuha ang mga item sa folder?"  Upang maging matapat, Hindi ko subukan ang lahat na mahirap dahil ko na nais na malaman ang isang ito sa aking sarili para sa isang habang ngiti.

Upang itakda ang up, Lumikha ako ng isang site na pinangalanang "Blogging sitwasyon" at isang pasadyang listahan na pinangalanang "Custom Listahan na may Sub Folder".  Ako pagkatapos nilikha folder na may pangalang:

  • Taon 2005
  • Taon 2006
  • Taon 2007

Ako ay nagdagdag ng ilang mga item sa ang "Taon 2006" na folder.  Ito ay kung ano ang tila:

image

Ang aking kaibigan ay hindi pagsulat ng C # code ngunit sa halip na paggamit ng Java, kaya ang SOAP sobre ay ano ang kanyang talagang kinakailangan.  Upang makakuha ng na, Sinulat ko isang bit ng jQuery at pagkatapos ay ginagamit ng fiddler upang makakuha ng aktwal na pag-uusap ng HTTP.

Narito ang kaugnay jQuery (Ko makopya ang code sa ibaba kung nais mong kopyahin / i-paste):

image

Sila unang susi ay upang isama ang parehong <queryOptions> at <QueryOptions> node.  Ang ikalawang key ay ang <Folder> node ay isang URL na kung saan ang client ay may access.

Maaaring may iba pang mga paraan upang makakuha ng ito, ngunit ito nagtrabaho na rin para sa akin kapag gumagamit ng jQuery.

Narito ang ang SOAP sobre para sa itaas:

<soapenv:Sobre xmlns:soapenv =’http://schemas.xmlsoap.org / sabon / sobre /’>                
  <soapenv:Katawan>
    <GetListItems xmlns =’
http://schemas.microsoft.com / sa sharepoint / sabon /’>
      <listname>Pasadyang Listahan na may Sub Folder</listname>
      <viewFields>  
        <ViewFields>
          <FieldRef Pangalan = 'Pamagat’ />
          <FieldRef Pangalan = 'EncodedAbsUrl ang’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Folder>
http://demoserver1/Blogging Sitwasyon / listahan / Custom Listahan na may Sub Folder / Taon 2006</Folder>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Katawan>
</soapenv:Sobre>

Ang isang pulutong ng mga halimbawa at discussion sa paligid na ito na humantong ako sa naniniwala na ang lahat ng kailangan ko ay <QueryOptions> at tukuyin ang isang pangalan ng folder.  Sa akin, Kailangan ko sa parehong pambalot na ito sa loob <queryOptions> pati na rin tukuyin ang isang ganap na kwalipikadong URL para sa <Folder> buko.

Narito ang jQuery AJAX setup:

$(dokumento).nakahanda(tungkulin() {
       ay soapEnv =
           "<soapenv:Sobre xmlns:soapenv =’http://schemas.xmlsoap.org / sabon / sobre /’> \
               <soapenv:Katawan> \
                    <GetListItems xmlns =’http://schemas.microsoft.com / sa sharepoint / sabon /’> \
                       <listname>Pasadyang Listahan na may Sub Folder</listname> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef Pangalan = 'Pamagat’ /> \
                              <FieldRef Pangalan = 'EncodedAbsUrl ang’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Folder>http://demoserver1/Blogging Sitwasyon / listahan / Custom Listahan na may Sub Folder / Taon 2006</Folder> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Katawan> \
           </soapenv:Sobre>";

</dulo>

Mag-subscribe sa aking blog.

Sundin ako sa Twitter sa http://www.twitter.com/pagalvin

Lists.asmx, GetList at "VALUE ay hindi maaaring maging null”

Natuklasan ko na ngayon ang GetList() pamamaraan sa lists.asmx web serbisyo ay upang matawag napaka mabuti o ito ay madaling kapitan ng sakit upang ihagis ng isang mahiwaga "Halaga ay hindi maaaring maging null" sa pagbubukod (at na ipagpalagay na maaari kang makakuha ng nakalipas na ang kahit na mas masahol pa generic na mensahe ng error, “Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ ay itinapon. ")  Tiyakan, Nakita ko na hindi ka maaaring magbigay ng anumang uri ng unlapi sa GetList pamamaraan.  Ang mga sumusunod na snippet jQuery ay naglalarawan ng point:

image

Kung gagawin mo na, web mga serbisyo ay tumutugon sa "Halaga ay hindi maaaring maging null" bilang per ito fiddler-ibinigay HTTP transcript:

<?xml version="1.0" encoding="utf-8"?>
  <sabon:Sobre
     xmlns:sabon ="
http://schemas.xmlsoap.org / sabon / sobre /"    
     xmlns:xsi = "
http://www.w3.org/2001/XMLSchema-instance"
     xmlns:xsd ="
http://www.w3.org/2001/XMLSchema">

  <sabon:Katawan>
    <sabon:Kasalanan>
      <faultcode>sabon:Server</faultcode>
      <faultstring>
        Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ ay itinapon.
      </faultstring>
      <detalye>
        <error string xmlns ="
http://schemas.microsoft.com / sa sharepoint / sabon /">
Halaga ay hindi maaaring maging null.
        </errorstring>
      </detalye>
    </sabon:Kasalanan>
  </sabon:Katawan>
</sabon:Sobre>

Talaga, malamang na hindi nais na magdagdag ng "S0" prefix sa iyong sariling, ngunit ang ilang mga tool ay madaling kapitan ng sakit na gawin ito (tulad ng Eclipse).

Ito ay ang lahat ng mga mas nakalilito / nakakadismaya dahil ang iba pang mga pamamaraan tiisin prefixes.  Halimbawa, ang GetListCollection pamamaraan ay hindi tututol kung ito ay nai-prefix, kahit na may mga bagay na walang kapararakan prefix tulad ng "xyzzy":

image

Ang "halaga ay hindi maaaring maging null" tila medyo pangkaraniwan sa lists.asmx kaya sana ito ay makakatulong sa isang tao out sa hinaharap.

</dulo>

Mag-subscribe sa aking blog.

Sundin ako sa Twitter sa http://www.twitter.com/pagalvin