المحفوظات الشهرية: شباط/فبراير 2014

كيفية تحديد الناس كنطاق البحث / مصدر المحتوى باستخدام SharePoint 2013 بقية API

كان السبب العمل مع SharePoint 2013 API البحث عبر بقية للمرة الأولى. كنت أرغب في البحث عن أشخاص, لا وثائق. مفتاح التعلم هنا أنه يمكنك تحديد مصادر المحتوى عبر guid الخاص به (أو على الأقل في هذه الحالة). يظهر أجزاء التعليمات البرمجية المتكررة التالية مسج كيف:

    لواديكسبيرتساسينك: الدالة() {

        jQuery.support.cors = صحيح;

        $.أجاكس({
            عنوان url: وهذا.كريتيفولابيورل() +
                "?كويريتيكست = 'بوابات'&سورسيد = 'b09a7990-05ea-4af9-81ef-edfab16c4e31'" +
                "&سيليكتبروبيرتيس = ' لينكيدينبروفيليورل,جوجليسيركليسبروفيليورل,بالارجيبروفيليبيكتوريورلس,باجريدبيكتوريس,ووركيميل,المهارات,AboutMe,المصالح,جوبتيتلي,باستبروجيكتس,بيكتوريورل,بريفيريدنامي,تويتيرهاندلي,لينكيدينبروفيليورل,بريفيريدنامي,جوجليسيركليسبروفيليورل '" +
                "&rowlimit = 99",
            الأسلوب: "الحصول على",
            رؤوس: { "قبول": "تطبيق/json; odata = مطول" },
            ذاكرة التخزين المؤقت: كاذبة,
            النجاح: الدالة (النتيجة) {

في حالتي, أنا تشغيل API ضد SharePoint على الإنترنت. للحصول على المعرف الفريد العمومي, لقد اتبعت هذه الخطوات:

  1. الوصول إلى مركز مسؤول SharePoint
  2. حدد "بحث" من شريط التنقل الأيسر
  3. حدد "إدارة مصادر نتيجة"
  4. حدد "السكان المحليين نتائج"
  5. انظروا إلى عنوان URL.

بدأ لي عنوان شيء من هذا القبيل:

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

المعلمة سورسيد ما عملت بالنسبة لي.

(وأفهم أن سورسيد قد يكون فعلا نوعا من شيء دائم مع SP, but I’ll always check anyway 🙂 ).

</نهاية>

undefinedالاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

المثال SharePoint بقية المكالمات

هنا هو مجموعة من المكالمات بقية العينة التي يعمل بالنسبة لي، وقد تساعدك على الخروج، وكذلك. كمن 02/2014, there are two examples 🙂

  1. مرجع عمود مع مسافات في اسم الخاص به
  2. مرجع عمود تحديد المتعدد
  3. إجراء بحث الناس عبر بقية

 

سأضيف إلى هذا بمرور الوقت.

وإليك بعض الأحبار مفيدة وجدتها كذلك:

مرجع عمود مع مسافات في اسم الخاص به

إنشاء قائمة مخصصة مع عمود يسمى "صاحب مدونة" (المسافة بين المدونة والكاتب).

$select للإشارة أن العمود:

image

ببساطة استبدال المسافة مع "_x0020_". ونحن نرى _x0020_ في العديد من الأمثلة عبر الإنترنت ولا يختلف بقية.

إذا لم تقم بذلك, كنت مسؤولاً للحصول على رسالة خطأ مثل هذا:

التعبير “بلوق المؤلف” غير صحيح.

ما يكفي من السهل.

مرجع عمود بحث متعدد حدد

قم بإعداد:

  1. إنشاء قائمة مخصصة تسمى فئات.
  2. إضافة بعض الفئات. قمت بإضافة فئات هكذا:image
  3. إنشاء قائمة مخصصة أخرى تسمى موكبلوج وإضافة فئات كعمود قائمة متعددة التحديد (أو عمود الموقع إذا كان هذا كيف يمكنك لفة).

إضافة بعض العناصر إلى قائمة موكبلوج الخاص بك، وكنت على استعداد.

استدعاء أسلوب أياكس مسج سوف ننظر شيئا مثل هذا:

  = سيرفيرورل "/_api/web/القوائم/جيتبيتيتلي('موكبلوج')/العناصر" +
             "?$حدد عنوان =,فئات/العنوان,Blog_x0020_Author/العنوان" + 
             "&$قم بتوسيع = Blog_x0020_Author,فئات";

كنت أقول SharePoint "أعطني العنوان لجميع الفئات (فئات/العنوان). الحصول على القيم الفعلية عن العنوان قبل $قم بتوسيعجي قائمة الفئات. " (بلدي مقتبسا مريح الأرجح جميلة فضفاضة, لكن هذا كيف أنا تفسير ذلك).

إذا كنت تفعل ذلك عن طريق استخدام Fiddler لإلقاء نظرة على الإخراج وجافا سكريبت, يمكنك الحصول على شيء من هذا القبيل في المقابل:

 

image

(ما ورد أعلاه كائن JSON)

إجراء بحث الناس عبر بقية

أنا blogged حول هذا بشكل منفصل. المفتاح هو لتحديد معلمة sourceid قيمته هو GUID لمصدر المحتوى "الأشخاص المحليين". (استخدام مصادر المحتوى ليتم استدعاؤها من النطاقات وبلدي-يا-بلادي جد على عدم استدعاء كل نطاق بالنسبة لي!).

اقرأ المزيد عن ذلك هنا: http://www.mstechblogs.com/paul/?p=10385

 

</نهاية>

undefinedالاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

سريعة وسهلة: إنشاء موقع SharePoint باستخدام بقية

وهناك كثير من الموارد حول التي تبين كيفية القيام بذلك, ولكن لم أتمكن من العثور على ارتباط شامل الذهاب إلى, وها نحن.

يمكنك إنشاء موقع SharePoint باستخدام API بقية.  هنا مثال كامل خبز:

<!--
    SiteRequestForm.html: جمع المعلومات وإنشاء موقع للمستخدم.
-->

<مركز>
<الجدول>
    <tr>
        <td>اسم الموقع:</td>
        <td><الإدخال نوع= "نص" الاسم= "اسم الموقع" معرف= "اسم الموقع" /></td>
    </tr>
    <tr>
        <td colspan= "2">
            <الإدخال نوع= "يقدم" معرف= "كريتيسيتيبوتون" القيمة= "إنشاء الموقع" />
        </td>
    </tr>
</الجدول>
</مركز>

<البرنامج النصي src="../Plugins/jquery-1.11.0.min.js"></البرنامج النصي>

<البرنامج النصي>
فأر كريتيسيتيلوجيككونتينير = {

    كريتيسيتيداتا: {
            "معلمات": {
                __metadata: { "نوع": "س.ويبينفوكريتيونينفورميشن" },
                عنوان Url: "Paultest1",
                العنوان: "Paultest1",
                وصف: "إنشاء بقية ويب قبل Paul!",
                اللغة: 1033,
                ويبتيمبلاتي: "sts",
                أوسيونيقويبيرميسيونس: كاذبة
            }
    },

    كريتيسيتي: الدالة () {

        jQuery.support.cors = صحيح;

        CreateSiteLogicContainer.createSiteData.parameters.Url = $("#SiteName").فال();
        
        $.أجاكس({
            عنوان url: "https://bigapplesharepoint.sharepoint.com/NBAIADev/_api/web/webinfos/add",
            الأسلوب: "وظيفة",

            رؤوس: {
                "قبول": "التطبيق/json; odata = مطول",
                "نوع المحتوى": "التطبيق/json;odata = مطول",
                "X-ريكويستديجيست": $("#__REQUESTDIGEST").فال()
            },

            البيانات: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            النجاح: الدالة () { تنبيه("النجاح"); },
            خطأ: الدالة () { تنبيه("خطأ"); }

        });
    },

    ويريوبفورم: الدالة () {
        $("#CreateSiteButton").انقر فوق(الدالة () {
            تنبيه("على وشك أن محاولة لإنشاء الموقع.");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</البرنامج النصي>

عندما تكون ناجحة, يمكنك الحصول على حزمة JSON في رد مثل هذا:

image

بلدي الأفكار الرئيسية وتعلمه من هذا التضمين:

  • ويستخدم هذا النهج مسج.  في حالتي, مكتبة jQuery بلدي يقع في ".../الإضافات. "  سوف تحتاج إلى تغيير ذلك للإشارة إلى موقع JQ المفضلة الخاصة بك.
  • يمكنك نسخ ولصق قصاصة ذلك كله في جزء ويب محرر المحتوى على صفحة، وينبغي لها أن تعمل على ما يرام.  سوف تحتاج إلى تغيير نقطة النهاية لاستدعاء API وتأكد من الرجوع JQ بشكل صحيح.
  • عنوان url الخاص بالنسبة إلى نقطة النهاية API الخاص بك.  في حالتي, فإنه يتم إنشاء المواقع الفرعية تحت https://bigapplesharepoint.com
  • لا تحتاج إلى توفير محتوى-طول. بعض التدوينات و MSDN الوثيقة يعني أن لديك, ولكن حدث لي تلقائياً, التي افترض أن يتم معالجة بواسطة استدعاء.ajax $ نفسها.
  • مطلوب هذا الخط من أجل تجنب رد فعل "المحرمة": "X-ريكويستديجيست": $("#__REQUESTDIGEST").فال().  وهناك طرق أخرى للقيام بذلك, ولكن هذا لطيف جداً.  لقد فقدت الرابط للمدونة التي قدمت هذا الاختصار.  ح/تي لك, مدون غامضة!

حظاً سعيداً وآمل أن يساعد هذا شخص.

</نهاية>

undefinedالاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

التغلب على مشكلة مزعجة مع محددات مواقع المعلومات النسبية في SharePoint سريعة إطلاق

كنت أرغب في إضافة ارتباط إلى شريط التنقل شريط التشغيل السريع في اليوم الآخر وأخبرني SharePoint:

image

إصدار النص النقي الذي:

التأكد من أن عنوان URL صالحاً، ويبدأ بأي حرف صالح (علامة الرقم (#) أو شرطة مائلة للأمام (/)) أو بروتوكول معتمد صالحة (فعلى سبيل المثال, ' http://’, ' https://’, ' ملف://’, ' بروتوكول نقل الملفات://’, ' mailto:’, ' أخبار:’).

"Blech وجدري!"قلت:.

حل لهذا لاستخدام جافا سكريبت للعثور على ارتباط معروفة في شريط التشغيل السريع، وتجاوز السلوك الخاص به.

لاختبار هذا, إضافة ارتباط جديد إلى موقع الاختبار الخاص بك هكذا:

image

لقد استخدمت jQuery. لحل هذه المشكلة, الحصول على بعض جافا سكريبت ومسج على الصفحة باستخدام الأسلوب الخاص بك المفضلة لديك ومع سطر من التعليمات البرمجية مثل هذا:

 

$(الوثيقة).استعداد( الدالة () {

    $("أ:يحتوي على('اختبار استبدال URL')").انقر فوق(الدالة () { تنبيه("انقر فوق تغيير السلوك!"); عودة كاذبة;});

});

وبوب عمك.

ويرى jQuery منتق كل <أ> العلامة يحتوي على "اختبار URL بديل" في اسمها. قد ترغب في بحث-النغمة التي اعتماداً على الارتباط الخاص بك، وهذه.

.Click(الدالة() يتجاوز أيا كان SharePoint قد فعلت عندما ينقر المستخدم. تأكد من لك "عودة كاذبة" أو آخر أنها سوف تفعل الأشياء الخاصة بك وثم محاولة الشيء href جداً, يكاد يكون من المؤكد الذي لا هدفك.

وقد تم ذلك والاختبار في بيئة SharePoint على إنترنت ولكن ينبغي أن تعمل جيدا في 2010 وفي وقت سابق أيضا.

</نهاية>

undefinedالاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

سريعة وبسيطة: SharePoint بقية المكالمة إرجاع فقط 100 سجلات

لقد تم العمل على موقع ويب التي يواجهها عامة للممارسة SharePoint بلدي هنا في نيويورك ويستخدم الكثير من المكالمات جافا سكريبت والباقي لإظهار المحتوى.

أثناء تطوير الخطوط الرئيسية, إنشاء إحدى وحدات dataset صغيرة مع فقط 10 أو حتى انسحبت الصفوف في قائمة مخصصة، ويدعو بقية بلدي من هناك.  مرة صدم أعلى القائمة إلى صفوف مئات قليلة من البيانات لاختبار للنمو المتوقع, لقد وجدت أنه تم الحصول بالضبط 100 الصفوف التي يتم إرجاعها إلى الوراء في بلدي يدعو بقية.

وهذا شيء بسيط جداً بعنوان.  في حالتي (وأعتقد أن في معظم الحالات), شكل افتراضي بقية تدعو إلى SharePoint (وربما كمعيار صناعة?) عودة 100 الصفوف.  لإرجاع أكثر من الافتراضي, استخدم المعلمة $top على المكالمة, كما هو الحال في:

الحصول على/Insights Dev/_api/web/lists/GetByTitle('موكبلوج')/العناصر?$حدد معرف =,العنوان,فئات/العنوان,Blog_x0020_Author/العنوان,داتيبوبليشيد,بلوجسوماري&$قم بتوسيع = Blog_x0020_Author,فئات&$التصفية =&$أعلى = 9999

وقد اخترت 9999 وفي هذه الحالة منذ ذلك الحين وأنا أعلم أن جرووثويسي, لن يكون هناك أكثر من 200 أو حتى إضافة صفوف إلى هذه القائمة في سنة.  إذا فإنه يصبح صعب المراس, يمكن أن ننفذ بعض الترحيل على الطريق.

</نهاية>

undefinedالاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

سريعة وبسيطة: حل "معلمة URL غير صالح” مشكلة مع أوبداتيليستيتيمس في lists.asmx

عند العمل مع أوبداتيليستيتيمس عن طريق lists.asmx, فمن السهل أن يولد الخطأ:

معلمة URL غير صالح.

توفير عنوان URL يحتوي على أمر أو قيمة غير صالحة. الرجاء التحقق من URL مرة أخرى.

يمكنك الحصول على هذا الخطأ عندما كنت قد نسيت لتضمين معرف في قائمة الحقول تحديث.  وهذا, مثل الكثير من خدمات الويب هذه حزمة الخدمة SP, هو counterintuitive قليلاً نظراً لأنك تحتاج إلى تضمين المعرف في سمة المعرف <الأسلوب> العنصر.  وكنت لا تحديث معرف وربما لم ترغب في المقام الأول.

يعمل هذا مغلف SOAP:

<سوابينف:Xmlns المغلف:سوابينف =' http://schemas.xmlsoap.org/soap/envelope/'>
  <سوابينف:الهيئة>                      
    <أوبداتيليستيتيمس xmlns =' http://schemas.microsoft.com/sharepoint/soap/'>                     
      <listName>{C712E2EA-54E1-47AD-9D99-1848C7773E2F}</listName>                     
        <التحديثات>                     
         <دفعة OnError ="مواصلة">
          <معرف طريقة ="1" Cmd ="تحديث">
            <اسم الحقل ="كوبيراتيفيلوك">مؤمن!</حقل>
            <اسم الحقل ="معرف">1</حقل>
          </الأسلوب>
        </دفعة>                     
        </التحديثات>                
      </أوبداتيليستيتيمس>             
  </سوابينف:الهيئة>         
</سوابينف:مغلف>

إذا قمت علامات خارج مرجع حقل معرف ثم ستحصل على رسالة "معلمة URL غير صالح" مزعج.

</نهاية>

undefinedالاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin