بایگانی دسته بندی: شیرپوینت خدمات وب سایت

How To Specify People as a Search Scope / Content Source Using 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: تابع() {

        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: تابع (result) {

در مورد من, 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

Lists.asmx, GetListItems و پوشه

من انجام برخی تحقیقات را برای کسی که امروز در سراسر وب سرویس list.asmx ارائه شده به عنوان بخشی از شیرپوینت 2010 (و قبل از آن).  او قادر بود برای به دست آوردن اقلام لیست در پوشه ریشه (از جمله نامهای از زیر پوشه ها), اما می تواند در موارد زیر پوشه ها را می کنید.  من برخی به دنبال بود در اطراف بر روی اینترنت و شگفت آور یک سوال مشترک است.  هنوز, من می توانم پاسخ خوبی به این سوال ساده نیست, "اگر من می دانم که پوشه, چگونه این اقلام را در پوشه?"  صادق باشد, من این همه سعی نمی کند از آنجایی که من می خواستم به شکل خود من در حالی که برای یکی از لبخند.

برای تنظیم این, ایجاد یک سایت به نام "سناریو وبنوشتها" و یک لیست سفارشی به نام "سفارشی با زیر پوشه".  من پس از آن ایجاد پوشه به نام:

  • سال 2005
  • سال 2006
  • سال 2007

من چند مورد را به پوشه "سال 2006".  این همان چیزی است که آن را مانند به نظر می رسد:

image

دوست من است کد # C نوشتن نیست، بلکه با استفاده از جاوا, بنابراین پاکت SOAP چیزی بود که او واقعا مورد نیاز است.  برای دریافت کنید که, من نوشت: یک بیت از jQuery و سپس با استفاده از نوازنده برای گرفتن مکالمه واقعی HTTP.

در اینجا ذکر کرد که jQuery مربوطه (من کپی کد زیر اگر می خواهید به کپی / چسباندن):

image

آنها کلید اول این است که شامل هر دو <queryOptions> و <QueryOptions> گره.  کلید دوم این است که <پوشه> گره URL که به مشتری است که دسترسی است.

ممکن است راه های دیگر را به این, اما این را به خوبی برای من کار می کرد که با استفاده از jQuery.

در اینجا این است که پاکت SOAP برای بالا:

<soapenv:xmlns پاکت:soapenv =’HTTP://schemas.xmlsoap.org / صابون / پاکت /’>                
  <soapenv:بدن>
    <xmlns GetListItems =’
HTTP://schemas.microsoft.com / شیرپوینت / صابون /’>
      <برگریز>لیست سفارشی با پوشه های فرعی</برگریز>
      <viewFields>  
        <ViewFields>
          <FieldRef نام = 'عنوان’ />
          <FieldRef نام = 'EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <پوشه>
HTTP://demoserver1/Blogging سناریوهای / لیست / فهرست های سفارشی با زیر پوشه / سال 2006</پوشه>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:بدن>
</soapenv:پاکت>

بسیاری از مثال ها و بحث در اطراف این باعث شد من به این باور است که تمام چیزی که نیاز دارم <QueryOptions> و مشخص نام پوشه.  برای من, من به هر دو بسته بندی کردن آن در داخل نیاز <queryOptions> همچنین به عنوان یک URL به طور کامل واجد شرایط برای مشخص <پوشه> گره.

در اینجا راه اندازی جی کوئری AJAX:

$(سند).آماده(تابع() {
       ور = soapenv
           "<soapenv:xmlns پاکت:soapenv =’HTTP://schemas.xmlsoap.org / صابون / پاکت /’> \
               <soapenv:بدن> \
                    <xmlns GetListItems =’HTTP://schemas.microsoft.com / شیرپوینت / صابون /’> \
                       <برگریز>لیست سفارشی با پوشه های فرعی</برگریز> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef نام = 'عنوان’ /> \
                              <FieldRef نام = 'EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <پوشه>http://demoserver1/Blogging سناریوهای / لیست / فهرست های سفارشی با زیر پوشه / سال 2006</پوشه> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:بدن> \
           </soapenv:پاکت>";

</پایان>

مشترک شدن در وبلاگ من.

من در توییتر در http://www.twitter.com/pagalvin

Lists.asmx, GetList و "ارزش نمی تواند تهی”

کشف امروز GetList.() روش در lists.asmx وب سرویس بسیار با دقت به آن می شود و یا آن را مستعد ابتلا به پرتاب مرموز "ارزش نمی تواند تهی" استثنا (و این فرض که شما می توانید گذشته حتی بدتر عمومی پیام خطا دریافت کنید, “Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ پرتاب شد)  به طور خاص, که من پیدا کردم که شما می توانید هر نوع از پیشوند به روش GetList را فراهم نمی کند.  قطعه jQuery را زیر نقطه را نشان می دهد:

image

اگر شما انجام این کار, پاسخ وب سرویس با "مقدار می تواند تهی" همانطور که در این نقب زن-ارائه متن HTTP:

<?نسخه XML = "1.0" رمزگذاری = "utf-8"?>
  <صابون:پاکت
     xmlns:صابون ="
HTTP://schemas.xmlsoap.org / صابون / پاکت /"    
     xmlns:XSI = "
HTTP://www.w3.org/2001/XMLSchema-instance"
     xmlns:XSD ="
HTTP://www.w3.org/2001/XMLSchema">

  <صابون:بدن>
    <صابون:تقصیر>
      <faultcode>صابون:سرور</faultcode>
      <faultstring>
        Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ بود پرتاب.
      </faultstring>
      <جزئیات>
        <errorstring xmlns ="
HTTP://schemas.microsoft.com / شیرپوینت / صابون /">
ارزش نمی تواند تهی.
        </errorstring>
      </جزئیات>
    </صابون:تقصیر>
  </صابون:بدن>
</صابون:پاکت>

البته, شما احتمالا که "پیشوند" S0 را آن گونه که مایلید تغییر دهید اضافه نمی کند, اما برخی از ابزارهای مستعد ابتلا به آن را انجام دهد (مانند گرفتگی).

این است که همه بیشتر گیج کننده / خسته کننده است، زیرا روش های دیگر را تحمل پیشوندها.  مثلا, the GetListCollection روش مهم نیست اگر آن را پیشوند, حتی با پیشوند مزخرف مانند "xyzzy":

image

این مقدار نمی تواند تهی "به نظر می رسد نسبتا مشترک با lists.asmx بنابراین امیدوارم این کار را از کسی که در آینده کمک کند.

</پایان>

مشترک شدن در وبلاگ من.

من در توییتر در http://www.twitter.com/pagalvin