ארכיון חודשי: בפברואר 2014

כיצד לציין אנשים כמו טווח חיפוש / מקור תוכן באמצעות SharePoint 2013 השאר API

הייתה לי סיבה לעבוד עם ה-SharePoint 2013 Api של חיפוש דרך כל השאר בפעם הראשונה. . רציתי לחפש אנשים, לא מסמכים. המפתח לומד כאן זה תציין מקורות תוכן באמצעות GUID שלה (או לפחות במקרה הזה). גזיר jQuery הבאה מציגה כיצד:

    loadExpertsAsync: פונקציה() {

        jQuery.support.cors = נכון;

        $.אייאקס({
            כתובת url: זה.CreateFullApiUrl() +
                "?querytext = "פורטלים"&sourceid = 'b09a7990-05ea-4af9-81ef-edfab16c4e31'" +
                "&selectproperties ='LinkedInProfileUrl,GoogleCirclesProfileUrl,BALargeProfilePictureUrls,BAGridPictures,מייל העבודה,מיומנויות,AboutMe,תחומי עניין,JobTitle,PastProjects,PictureURL,PreferredName,TwitterHandle,LinkedInProfileUrl,PreferredName,GoogleCirclesProfileUrl'" +
                "&rowlimit = 99",
            שיטה: "לקבל",
            כותרות: { "קבל": "יישום/json; odata = מפורט" },
            מטמון: שווא,
            הצלחה: פונקציה (תוצאה) {

במקרה שלי, . אני רץ ה-API נגד SharePoint online. כדי לקבל את ה-GUID, עקבתי אחרי השלבים:

  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

הפרמטר sourceid הוא מה עבד בשבילי.

(אני מבין sourceid בפועל עשוי להיות משהו קבוע עם 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. ליצור רשימה מותאמת אישית נוספת הנקראת MockBlog ולהוסיף קטגוריות כעמודה רשימת בחירה מרובה (או עמודת אתר אם זה הקטע שלך. בשד).

הוספת פריטים מסוימים לרשימת Mockblog. ואתה מוכן.

שיחה סגנון Ajax בעזרת jQuery ייראה בערך כך:

serverUrl   = "/_api/אינטרנט/רשימות/GetByTitle('MockBlog')/פריטים" +
             "?$בחר = כותרת,קטגוריות/כותרת,Blog_x0020_Author/כותרת" + 
             "&$הרחב = Blog_x0020_Author,קטגוריות";

אנחנו מספרים SharePoint. תן לי את הכותרת עבור כל הקטגוריות (קטגוריות/כותרת). לקבל את הערכים בפועל עבור כותרת על-ידי $הרחבing קטגוריות." (בפרפרזה נינוחה שלי הוא כנראה די רופף, אבל איך אני לפרש את זה).

אם אתה עושה את זה באמצעות JavaScript ושימוש כנר להסתכל על הפלט, אתה מקבל משהו כזה בתמורה:

 

image

(האמור לעיל הוא אובייקט JSON)

לבצע חיפוש אנשים באמצעות מנוחה

אני בבלוג על זה בנפרד. המפתח הוא כדי לציין פרמטר sourceid שערכו הוא ה-GUID של מקור התוכן המקומיים. (מקורות התוכן היה אמור להיקרא טווחי וזה הו-שלי כל כך חזק לא לקרוא הכל טווח בשבילי!).

קרא עוד על זה כאן: http://www.mstechblogs.com/paul/?p=10385

 

</קצה>

undefinedמנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin

מהיר וקל: יצירת אתר SharePoint באמצעות מנוחה

ישנם הרבה אפשרויות מסביב המציגים כיצד לעשות זאת, אבל לא מצאתי קישור אליו מקיף, אז הנה אנחנו.

באפשרותך ליצור אתר SharePoint באמצעות ה-API של מנוחה.  הנה דוגמא אפוי לגמרי:

<!--
    SiteRequestForm.html: לאסוף מידע וליצור אתר עבור המשתמש.
-->

<מרכז>
<טבלה>
    <. tr>
        <td>שם האתר:</td>
        <td><קלט סוג= "טקסט" שם= "SiteName" מזהה= "SiteName" /></td>
    </. tr>
    <. tr>
        <td colspan= "2">
            <קלט סוג= "להגיש" מזהה= "CreateSiteButton" ערך= "יצירת האתר" />
        </td>
    </. tr>
</טבלה>
</מרכז>

<קובץ script src="../Plugins/jquery-1.11.0.min.js"></קובץ script>

<קובץ script>
var CreateSiteLogicContainer = {

    createSiteData: {
            "פרמטרים": {
                __metadata: { "סוג": ". SP.WebInfoCreationInformation" },
                כתובת Url: "Paultest1",
                כותרת: "Paultest1",
                תיאור: "שנוצרו על-ידי מנוחה אינטרנט על-ידי פול!",
                שפה: 1033,
                WebTemplate: "sts",
                UseUniquePermissions: שווא
            }
    },

    createSite: פונקציה () {

        jQuery.support.cors = נכון;

        CreateSiteLogicContainer.createSiteData.parameters.Url = $("#SiteName").ול();
        
        $.אייאקס({
            כתובת url: "https://bigapplesharepoint.sharepoint.com/NBAIADev/_api/web/webinfos/add",
            שיטה: "פוסט",

            כותרות: {
                "מקבל": "יישום/json; odata = מפורט",
                "סוג תוכן": "יישום/json;odata = מפורט",
                "X-RequestDigest": $("#__REQUESTDIGEST").ול()
            },

            נתונים: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            הצלחה: פונקציה () { התראה("הצלחה"); },
            שגיאה: פונקציה () { התראה("שגיאה"); }

        });
    },

    wireUpForm: פונקציה () {
        $("#CreateSiteButton").לחץ(פונקציה () {
            התראה("עומד לנסות וליצור את האתר.");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</קובץ script>

כאשר הוא מוצלח, אתה מקבל מנה JSON בתגובה ככה:

image

שלמדנו מן הזה כלול ומחשבות המפתח שלי:

  • גישה זו משתמש jQuery.  במקרה שלי, הספרייה jQuery שלי ממוקם "./ תוספים. "  אתה רוצה לשנות את זה כדי להצביע על מיקום JQ האהוב שלך.
  • באפשרותך להעתיק ולהדביק את אותו מקטע שלם אל Web Part של עורך התוכן בדף, זה אמור לעבוד טוב.  אתה רוצה לשנות את נקודת הקצה של השיחה API, ודא שאתה מציין JQ כראוי.
  • כתובת ה-URL הוא יחסי נקודת הקצה של ה-API שלך.  במקרה שלי, יוצר אתרי המשנה מתחת https://bigapplesharepoint.com
  • אתה לא צריך לספק תוכן-אורך. כמה פוסטים ו MSDN המסמך מרמז שאתה עושה, אבל קרה לי באופן אוטומטי, ואני משער מטופל בידי השיחה .ajax $ עצמה.
  • שורה זו נדרשת כדי למנוע תגובה "אסורים": "X-RequestDigest": $("#__REQUESTDIGEST").ול().  יש דרכים אחרות לעשות את זה, . אבל זה די נחמד...  איבדתי את הקישור לבלוג סיפק קיצור דרך זה.  H/T לך, בלוגר מסתורי!

מזל טוב, מקווה שזה יעזור למישהו.

</קצה>

undefinedמנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin

להתגבר על בעיה מעצבנת עם כתובות Url יחסיות ב- SharePoint מהיר השיגור

רציתי להוסיף קישור הניווט ' הפעלה מהירה ' ביום ההוא ולא SharePoint סיפר לי:

image

טקסט טהור גרסה של זה:

להבטיח כי כתובת ה-URL חוקית וכי מתחיל גם תו חוקי (סימן מספר (#) או נטוי (/)) או פרוטוקול נתמכת בתוקף (לדוגמה, ' http://’, ' https://’, "קובץ://’, ' ה-ftp://’, "mailto:’, ' חדשות:’).

"בלך, אבעבועות!"אמרתי.

זה פתרון אפשרי הוא להשתמש ב- JavaScript כדי למצוא קישור הידוע בהשקה מהירה, לעקוף את אופן הפעולה שלו.

כדי לבדוק את זה, להוסיף קישור חדש לאתר שלך במבחן נוהג כך:

image

השתמשתי jQuery. כדי לפתור את זה, לקבל קצת JavaScript jQuery אל הדף בטכניקה האהוב שלך, עם שורת קוד כזה:

 

$(המסמך).מוכן( פונקציה () {

    $("של:מכיל('בדיקה החלפת כתובת URL')").לחץ(פונקציה () { התראה("לחץ על שינוי התנהגות!"); החזרה שווא;});

});

בוב הוא הדוד שלך.

בורר jQuery מוצא כל <של> תג יש "Test URL חלופי" בשם שלה. ייתכן שתרצה למצוא-מנגינה זה בהתאם את הקישור וכאלה.

.Click(פונקציה() דורסת מה של SharePoint הייתי עושה כאשר המשתמש לוחץ. ודא כי אתה "יש להחזיר false" או אחר היא לעשות את הדברים שלך, ואז לנסות הדבר href מדי, . וזה קרוב לוודאי לא המטרה שלך.

זה נעשה, מבחן בסביבת SharePoint online אבל אמור לעבוד טוב 2010 מוקדם מדי.

</קצה>

undefinedמנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin

מהיר ופשוט: SharePoint השאר קוראים רק החזרה 100 רשומות

אני עובד באתר אינטרנט ציבורי מול המרפאה שלי SharePoint כאן ב- ניו-יורק הוא משתמש הרבה שיחות JavaScript ומנוחה כדי להציג תוכן.

במהלך הפיתוח mainline, ליצור dataset קטן עם רק 10 או אז שורות רשימה מותאמת אישית וכל השיחות שלי לנוח הוציא משם.  פעם אחת אני מקפיץ את הרשימה יש כמה מאות שורות של נתונים כדי לבדוק את הצמיחה הצפויה, מצאתי כי היה מקבל בדיוק 100 השורות המוחזרות על השיחות שלי לנוח.

. זה דבר פשוט מאוד לכתובת  במקרה שלי (ואני מאמין ברוב המקרים), ברירת המחדל מנוחה קורא SharePoint (אולי כמו תקן תעשייתי?) החזרה 100 שורות.  כדי להחזיר יותר מאשר ברירת המחדל, השתמש בפרמטר $top לטלפון שלך, כמו ב-:

להשיג /Insights Dev/_api/web/lists/GetByTitle('MockBlog')/פריטים?$בחר = מזהה,כותרת,קטגוריות/כותרת,Blog_x0020_Author/כותרת,DatePublished,BlogSummary&$הרחב = Blog_x0020_Author,קטגוריות&$מסנן =&$העליון = 9999

. בחרתי 9999 במקרה זה מאז ידעתי את זה growth-wise, . לא יהיו יותר 200 או אז ששורות שנוספו לרשימה זו בשנה.  אם זה הופך ובאדישות, נוכל ליישם שמידה מסוימת של החלפה במורד הכביש.

</קצה>

undefinedמנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin

מהיר ופשוט: לפתור את פרמטר URL לא חוקי"” בעיה עם UpdateListItems lists.asmx

בעת עבודה עם UpdateListItems ויה lists.asmx, קל ליצור את השגיאה:

פרמטר URL לא חוקי.

כתובת ה-URL שסופקו מכילה פקודה או ערך לא חוקי. נא בדוק את כתובת ה-URL שוב.

אתה יכול לקבל שגיאה זו כאשר אתה תישכח מזהה ב רשימת השדות כדי לעדכן.  זה, כמו הרבה לשירותי אינטרנט אלה SP, הוא קצת שלא נראית מציאותית מאז עליך לכלול את המזהה של תכונת ID של <שיטה> רכיב.  אתה לא מעודכן מזהה ואני בטח לא רוצה מלכתחילה.

המעטפה הזאת סבון עובד:

<soapenv:Xmlns מעטפה:soapenv =' http://schemas.xmlsoap.org/soap/envelope/'>
  <soapenv:הגוף>                      
    <UpdateListItems xmlns =' http://schemas.microsoft.com/sharepoint/soap/'>                     
      <listName>{C712E2EA-54E1-47AD-9D99-1848C7773E2F}</listName>                     
        <עדכונים>                     
         <אצווה OnError ="המשך">
          <זיהוי שיטת ="1" Cmd ="עדכון">
            <שדה שם ="CooperativeLock">נעול!</שדה>
            <שדה שם ="מזהה">1</שדה>
          </שיטה>
        </אצווה>                     
        </עדכונים>                
      </UpdateListItems>             
  </soapenv:הגוף>         
</soapenv:מעטפה>

אם אותך להתפשט החוצה הפניית שדה מזהה ואז תקבל את ההודעה "פרמטר URL לא חוקי" מעצבן.

</קצה>

undefinedמנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin