Цатегори Арцхивес: СхареПоинт Веб услуге

Како навести људе као Сеарцх Сцопе / Садржај Извор Коришћење СхареПоинт 2013 РЕСТ АПИ

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: функција() {

        jQuery.support.cors = прави;

        $.ajax({
            УРЛ: ово.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",
            метод: "GET",
            headers: { "Accept": "application/json; odata=verbose" },
            cache: лажан,
            success: функција (резултат) {

У мом случају, 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 🙂 ).

</крај>

undefinedПретплатите се на мој блог.

Следите ме на Туиттер на http://www.twitter.com/pagalvin

Листс.асмк, ГетЛистИтемс и фасцикле

Ја сам истраживао за некога данас око лист.асмк веб услугу као део СхареПоинт 2010 (и раније).  Она је била у стању да ставке листе на основној фасцикли (укључујући и имена субименике), али није могао да ставке у под-директоријумима.  Мало сам гледала около на интернетс и то је изненађујуће често питање.  Још, Нисам могао добити добар одговор на једноставно питање, "Ако ја знам фасциклу, како могу добити ставке у фасцикли?"  Да будем искрен, Нисам пробао све то тешко, јер сам хтео да схватимо ово сама за неко време Осмех.

Да бисте подесили ово, Направио сам сајт под називом "Сценарији блоггинг" и прилагођене листе по имену "Цустом Списак са под фасциклама".  Тада сам створио фолдере именоване:

  • Година 2005
  • Година 2006
  • Година 2007

Додао сам неколико ставки у фасцикли "Година 2006".  То је оно што изгледа:

image

Мој пријатељ не пише Ц # кода, већ користите Јава, па САПУН коверта је оно што је заиста потребно.  Да би се то, Написао сам мало јКуери а затим користи Фиддлер да бисте добили Стварни ХТТП разговор.

Ево релевантно јКуери (Копирао сам код доле испод ако желите да копирате / пасте):

image

Прво су кључ је да се укључе и <куериОптионс> и <КуериОптионс> чвор.  Други кључ је у томе <Фасцикла> чвор је УРЛ адреса на коју клијент има приступ.

Постоје и други начини да се ово, али ово је добро радио за мене када се користи јКуери.

Овде је САПУН коверта за горе:

<соапенв:Коверте КСМЛнс:соапенв =’хттп://сцхемас.кмлсоап.орг / сапун / коверти /’>                
  <соапенв:Тело>
    <ГетЛистИтемс КСМЛнс =’
хттп://сцхемас.мицрософт.цом / СхареПоинт / сапун /’>
      <листнаме>Прилагођену листу са под фасциклама</листнаме>
      <виевФиелдс>  
        <ВиевФиелдс>
          <ФиелдРеф Име = 'Наслов’ />
          <ФиелдРеф Име = 'ЕнцодедАбсУрл’ />
        </ВиевФиелдс>
      </виевФиелдс>
      <куериОптионс>
        <КуериОптионс>
          <Фасцикла>
хттп://демосервер1/Блоггинг Сценарији / спискови / прилагођене листе са под фасциклама / 2006 годину</Фасцикла>
        </КуериОптионс>
      </куериОптионс>
   
</ГетЛистИтемс>
  </соапенв:Тело>
</соапенв:Коверат>

Много примера и дискусија око овог ме је навело да верујем да све што ми треба је <КуериОптионс> и наведите име фасцикле.  За мене, Морам да га замотати у оба <куериОптионс> као и навести потпуно квалификовано УРЛ <Фасцикла> чвор.

Ево јКуери АЈАКС подешавање:

$(документ).спреман(функција() {
       био соапЕнв =
           "<соапенв:Коверте КСМЛнс:соапенв =’хттп://сцхемас.кмлсоап.орг / сапун / коверти /’> \
               <соапенв:Тело> \
                    <ГетЛистИтемс КСМЛнс =’хттп://сцхемас.мицрософт.цом / СхареПоинт / сапун /’> \
                       <листнаме>Прилагођену листу са под фасциклама</листнаме> \
                       <виевФиелдс> \
                           <ВиевФиелдс> \
                              <ФиелдРеф Име = 'Наслов’ /> \
                              <ФиелдРеф Име = 'ЕнцодедАбсУрл’ /> \
                          </ВиевФиелдс> \
                       </виевФиелдс> \
                       <куериОптионс> \
                         <КуериОптионс> \
                           <Фасцикла>http://demoserver1/Blogging Сценарији / спискови / прилагођене листе са под фасциклама / 2006 годину</Фасцикла> \
                         </КуериОптионс> \
                       </куериОптионс> \
                   </ГетЛистИтемс> \
               </соапенв:Тело> \
           </соапенв:Коверат>";

</крај>

Претплатите се на мој блог.

Следите ме на Туиттер на http://www.twitter.com/pagalvin

Листс.асмк, ГетЛист и "Вредност не сме бити нулл”

Открио сам да је данас ГетЛист() метода у листс.асмк веб сервиса мора да се зове веома пажљиво и да је склона да се баци мистериозни "вредност не може бити нулл" изузетак (и под претпоставком да је можете добити прошлости још горе генеричке поруке о грешци, “Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ бачен. ")  Посебно, Нашао сам да не може да пружи било какав префикс на ГетЛист метода.  Следећи јКуери код илуструје тачку:

image

Ако то урадите, Веб услуга одговара са "Вредност не може бити нула" по ово виолиниста-условом ХТТП транскрипт:

<?xml version="1.0" encoding="utf-8"?>
  <сапун:Коверат
     КСМЛнс:сапун ="
хттп://сцхемас.кмлсоап.орг / сапун / коверти /"    
     КСМЛнс:кси = "
хттп://ввв.в3.орг/2001/КСМЛСцхема-инстанце"
     КСМЛнс:ксд ="
хттп://ввв.в3.орг/2001/КСМЛСцхема">

  <сапун:Тело>
    <сапун:Грешка>
      <фаултцоде>сапун:Сервер</фаултцоде>
      <фаултстринг>
        Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ је бачена.
      </фаултстринг>
      <детаљ>
        <еррорстринг КСМЛнс ="
хттп://сцхемас.мицрософт.цом / СхареПоинт / сапун /">
Вредност не може бити нула.
        </еррорстринг>
      </детаљ>
    </сапун:Грешка>
  </сапун:Тело>
</сапун:Коверат>

Наравно, вероватно не би додао да "С0" префикс на сопствене, али неки алати су склони да то уради (као Ецлипсе).

То је све више збуњујуће / фрустрирајуће, јер друге методе толерише префикса.  На пример, the ГетЛистЦоллецтион метод не смета ако је прошло префикс, чак и са бесмисленим префиксима попут "киззи":

image

Ова "вредност не може бити нула" изгледа прилично уобичајено са листс.асмк па се надам да ће то помоћи некоме у будућности.

</крај>

Претплатите се на мој блог.

Следите ме на Туиттер на http://www.twitter.com/pagalvin