คลังเก็บรายเดือน: กุมภาพันธ์ 2014

วิธีการระบุคนเป็นขอบเขตการค้นหา / แหล่งเนื้อหาโดยใช้ SharePoint 2013 เหลือ API

มีเหตุผลทำงานร่วมกับ SharePoint 2013 ค้นหา API ผ่านเหลือเป็นครั้งแรก. อยากจะหาคน, เอกสารไม่. คีย์ที่เรียนที่นี่เป็นที่ที่คุณระบุแหล่งเนื้อหาผ่าน GUID ของ (หรืออย่างน้อยในกรณีนี้). ส่วนย่อยของโค้ดต่อไปนี้ jQuery แสดงวิธี:

    loadExpertsAsync: ฟังก์ชัน() {

        jQuery.support.cors = จริง;

        $.อาแจ็กซ์({
            url: นี้.CreateFullApiUrl() +
                "?querytext = 'พอร์ทัล'&รหัสแหล่งข้อมูล = 'b09a7990-05ea-4af9-81ef-edfab16c4e31'" +
                "&selectproperties ='LinkedInProfileUrl,GoogleCirclesProfileUrl,BALargeProfilePictureUrls,BAGridPictures,WorkEmail,ทักษะ,AboutMe,สนใจ,JobTitle,PastProjects,PictureURL,PreferredName,TwitterHandle,LinkedInProfileUrl,PreferredName,GoogleCirclesProfileUrl'" +
                "&rowlimit = 99",
            วิธีการ: "รับ",
            หัวข้อ: { "ยอมรับ": "แอพลิเคชัน/เจซัน; odata = verbose" },
            แคช: เท็จ,
            ประสบความสำเร็จ: ฟังก์ชัน (ผล) {

ในกรณีของฉัน, ฉันทำงาน API กับ SharePoint ออนไลน์. รับ GUID, ผมตามขั้นตอนเหล่านี้:

  1. เข้าศูนย์ผู้ดูแล SharePoint
  2. เลือก "ค้นหา" จากการนำทางซ้ายมือ
  3. เลือก "จัดการแหล่งผล"
  4. เลือก "ประชาชนผลลัพธ์"
  5. ดูที่ URL.

URL ของฉันดูเหมือน:

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

พารามิเตอร์รหัสแหล่งข้อมูลเป็นที่ทำงานให้ฉัน.

(ผมเข้าใจว่า รหัสแหล่งข้อมูลจริงอาจจะเรียงลำดับของสิ่งถาวรกับ SP, แต่ฉันจะตรวจสอบอยู่เสมอ 🙂 ).

</สิ้นสุด>

undefinedสมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

เรียกเหลือ SharePoint ตัวอย่าง

นี่คือชุดของเรียกเหลืออย่างที่ฉันทำงาน และอาจช่วยให้คุณออกด้วย. เป็นของ 02/2014, there are two examples 🙂

  1. การอ้างอิงคอลัมน์ ด้วยช่องว่างในชื่อ
  2. อ้างอิงที่เลือกหลายคอลัมน์
  3. ทำการค้นหาคนผ่านเหลือ

 

ฉันจะเพิ่มไปเมื่อเวลาผ่าน.

ที่นี่มีหมึกบางประโยชน์ได้พบเช่น:

การอ้างอิงคอลัมน์ ด้วยช่องว่างในชื่อ

ฉันสร้างรายการกำหนดเอง มีคอลัมน์ชื่อ "ผู้เขียนบล็อก" (ช่องว่างระหว่างบล็อกและผู้เขียน).

$select การอ้างอิงคอลัมน์ได้:

image

เพียงแทนช่องว่าง ด้วย "_x0020_". เราเห็น _x0020_ ในตัวอย่างมากมายระหว่าง internets และส่วนที่เหลือจะไม่แตกต่าง.

ถ้าคุณไม่ทำ, คุณต้องได้รับข้อผิดพลาดนี้:

นิพจน์ “ผู้เขียนบล็อก” ไม่ถูกต้อง.

ง่ายพอ.

อ้างอิงค้นหาเลือกหลายคอลัมน์

ตั้งค่า:

  1. สร้างรายการแบบกำหนดเองที่ชื่อประเภท.
  2. เพิ่มบางประเภท. เพิ่มประเภท thusly:image
  3. สร้างรายการกำหนดเองอื่นที่เรียกว่า MockBlog และเพิ่มประเภทเป็นรายการเลือกหลายคอลัมน์ (หรือไซต์คอลัมน์ถ้าเป็นวิธีหมุน).

เพิ่มสินค้าบางรายการของคุณ Mockblog และคุณ.

การใช้ jQuery เรียกสไตล์อาแจ็กซ์จะมีลักษณะเหมือนกับ:

serverUrl  = "/_api/เว็บ/รายการ/GetByTitle('MockBlog')/รายการ" +
             "?$เลือก =ชื่อเรื่อง,ประเภท/ชื่อเรื่อง,Blog_x0020_Author/ชื่อ เรื่อง" + 
             "&$ขยาย = Blog_x0020_Author,ประเภท";

เรากำลังบอก SharePoint "ให้ฉันชื่อเรื่องสำหรับทุกประเภท (ประเภท/ชื่อเรื่อง). รับค่าของจริง ชื่อเรื่อง โดย $ขยายing รายการประเภทนี้" (ฉันถอดความนิยมจะหลวมคงสวย, แต่นี้ว่าฉันกำลังตีความมัน).

ถ้าคุณกำลังทำนี้ผ่าน JavaScript และใช้พู้ทำเล่นเพื่อดูผลลัพธ์, คุณได้รับสิ่งนี้กลับ:

 

image

(ด้านบนเป็นวัตถุเจซัน)

ทำการค้นหาคนผ่านเหลือ

ฉัน blogged เรื่องนี้ต่างหาก. สำคัญคือการ ระบุพารามิเตอร์รหัสแหล่งข้อมูลที่มีค่าเป็น GUID ของคนในท้องถิ่นแหล่งเนื้อหา. (แหล่งเนื้อหาใช้เรียกขอบเขต และจะไม่ยากดังนั้นฉันโอ้ ของฉันเรียกขอบเขตสำหรับฉันทุกอย่าง!).

อ่านเพิ่มเติมเกี่ยวกับการได้ที่นี่: http://www.mstechblogs.com/paul/?p=10385

 

</สิ้นสุด>

undefinedสมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ 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>
</ตาราง>
</ศูนย์>

<สคริปต์ src="../Plugins/jquery-1.11.0.min.js"></สคริปต์>

<สคริปต์>
var CreateSiteLogicContainer = {

    createSiteData: {
            "พารามิเตอร์": {
                __metadata: { "ชนิด": "SP.WebInfoCreationInformation" },
                Url: "Paultest1",
                ชื่อเรื่อง: "Paultest1",
                คำอธิบาย: "ส่วนที่เหลือสร้างเว็บ โดยพอล!",
                ภาษา: 1033,
                WebTemplate: "sts",
                UseUniquePermissions: เท็จ
            }
    },

    createSite: ฟังก์ชัน () {

        jQuery.support.cors = จริง;

        CreateSiteLogicContainer.createSiteData.parameters.Url = $("#SiteName").val();
        
        $.อาแจ็กซ์({
            url: "https://bigapplesharepoint.sharepoint.com/NBAIADev/_api/web/webinfos/add",
            วิธีการ: "ลงรายการบัญชี",

            หัวข้อ: {
                "ยอมรับ": "แอพลิเคชันเจซัน; odata = verbose",
                "ชนิดเนื้อหา": "แอพลิเคชันเจซัน;odata = verbose",
                "X-RequestDigest": $("#__REQUESTDIGEST").val()
            },

            ข้อมูล: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            ประสบความสำเร็จ: ฟังก์ชัน () { การแจ้งเตือน("ความสำเร็จ""); },
            ข้อผิดพลาด: ฟังก์ชัน () { การแจ้งเตือน("ข้อผิดพลาด"); }

        });
    },

    wireUpForm: ฟังก์ชัน () {
        $("#CreateSiteButton").คลิก(ฟังก์ชัน () {
            การแจ้งเตือน("จะลอง และสร้างเว็บไซต์");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</สคริปต์>

เมื่อประสบความสำเร็จ, คุณได้รับแพคเก็ตเจซันตอบเช่นนี้:

image

หลักความคิดของฉันและ learnings จากนี้รวม:

  • วิธีการนี้ใช้ jQuery  ในกรณีของฉัน, ไลบรารี jQuery อยู่ ".../ ปลั๊กอิน "  คุณต้องการเปลี่ยนแปลงที่ชี้ไปยังตำแหน่งของ JQ โปรด.
  • คุณสามารถคัดลอก และวางที่ส่วนย่อยของโค้ดทั้งหมดใน Web Part ตัวแก้ไขเนื้อหาบนหน้ากระดาษ และควรทำเพียงปรับ  คุณจะต้องเปลี่ยนแปลงจุดสิ้นสุดของการเรียก API และแน่ใจว่าคุณอ้างอิง JQ อย่างถูกต้อง.
  • URL เป็นปลายทางของ API  ในกรณีของฉัน, มันเป็นการสร้างไซต์ย่อยภายใต้ https://bigapplesharepoint.com
  • คุณไม่จำเป็นเพื่อให้เนื้อหามีความยาว. บางบทความบล็อกและ MSDN เอกสารหมายถึงการที่คุณทำ, แต่เกิดให้ฉันโดยอัตโนมัติ, ซึ่งผมถือว่าการจัดการ โดยการเรียก.ajax $เอง.
  • บรรทัดนี้เป็นสิ่งจำเป็นเพื่อหลีกเลี่ยงการตอบสนองที่ "ต้องห้าม": "X-RequestDigest": $("#__REQUESTDIGEST").val().  มีวิธีอื่นที่, แต่นี่คือสวยดี  ฉันได้สูญเสียการเชื่อมโยงกับบล็อกที่ให้ทางลัดนี้  H/T คุณ, blogger ลึกลับ!

โชคดีและความหวังนี้ช่วยให้คนออก.

</สิ้นสุด>

undefinedสมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

เอาชนะปัญหาน่ารำคาญ ด้วย Url แบบย่อในเปิด SharePoint อย่างรวดเร็ว

อยากจะเพิ่มการเชื่อมโยงการนำเปิดใช้งานด่วนในวันอื่น ๆ และ SharePoint บอกฉัน:

image

รุ่นข้อความล้วนที่เป็น:

ให้แน่ใจว่า URL ถูกต้อง และเริ่มต้น ด้วยทั้งอักขระที่ถูกต้อง (เครื่องหมายเลข (#) หรือเครื่องหมายทับไปข้างหน้า (/)) หรือโพรโทคอลที่สนับสนุนถูกต้อง (ตัวอย่างเช่น, ' http://’, ' https://’, ' ไฟล์://’, ' ftp://’, ' mailto:’, ' ข่าว:’).

"Blech และ pox!"ผมพูด.

วิธีแก้ปัญหานี้คือการ ใช้ JavaScript เพื่อค้นหาการเชื่อมโยงรู้จักในการเปิดใช้งานด่วน และแทนลักษณะการทำงานของ.

การทดสอบนี้, เพิ่มการเชื่อมโยงใหม่ไซต์ทดสอบ thusly:

image

ใช้ jQuery. เมื่อต้องการแก้มัน, บาง JavaScript และ jQuery ไปหน้าโดยใช้เทคนิคของคุณชื่นชอบ และ มีบรรทัดของรหัสนี้:

 

$(เอกสาร).พร้อม( ฟังก์ชัน () {

    $("การ:ประกอบด้วย('ทดสอบ URL แทน')").คลิก(ฟังก์ชัน () { การแจ้งเตือน("คลิกเปลี่ยนลักษณะการทำงาน!"); เที่ยวกลับ เท็จ;});

});

และ คุณลุงบ๊อบ.

ค้นหาตัว jQuery ทุก <การ> แท็กที่มีชื่อ "ทดสอบ URL แทน". คุณอาจต้องการค้นหาเพลงที่เชื่อมโยงของคุณและเช่น.

.Click(ฟังก์ชัน() เพียง SharePoint จะทำเมื่อผู้ใช้คลิกแทน. ให้แน่ใจว่า คุณ "ส่งคืนเท็จ" หรือ อื่น ๆ จะทำสิ่งของ และลองสิ่ง href เกินไป, ที่ไม่ได้เกือบแน่นอนเป้าหมายของคุณ.

นี้เสร็จ และทดสอบใน SharePoint ออนไลน์แต่ควรทำงานที่ดีใน 2010 และเร็วเกินไป.

</สิ้นสุด>

undefinedสมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

ง่าย และรวดเร็ว: SharePoint เหลือโทรคืนเท่านั้น 100 เรกคอร์ด

ฉันได้ทำงานบนเว็บไซต์หันสาธารณะสำหรับการปฏิบัติของฉัน SharePoint ที่นี่ใน นิวยอร์ก และใช้มากเรียก JavaScript และอื่น ๆ เพื่อแสดงเนื้อหา.

ในระหว่างการพัฒนา mainline, ฉันสร้างชุดข้อมูลขนาดเล็กมีเพียง 10 หรือดึงให้ แถวในรายการที่กำหนดเองและเรียกส่วนที่เหลือของฉันทั้งหมดจาก  เมื่อฉันชนอัพรายชื่อให้ข้อมูลการทดสอบคาดว่าจะเติบโตกี่ร้อยแถว, พบว่า ก็คือการตรง 100 แถวที่ส่งกลับจึงเรียกส่วนที่เหลือของฉัน.

นี้เป็นสิ่งง่ายมากให้อยู่  ในกรณีของฉัน (และผมเชื่อว่าส่วนใหญ่), เริ่มต้นเหลือเรียกการ SharePoint (และอาจ เป็นมาตรฐานอุตสาหกรรม?) เที่ยวกลับ 100 แถว  กลับเริ่มต้นมากกว่า, ใช้พารามิเตอร์ $top บนโทรศัพท์ของคุณ, เช่นใน:

รับ /Insights Dev/_api/web/lists/GetByTitle('MockBlog')/รายการ?$เลือก = ID,ชื่อเรื่อง,ประเภท/ชื่อเรื่อง,Blog_x0020_Author/ชื่อ เรื่อง,DatePublished,BlogSummary&$ขยาย = Blog_x0020_Author,ประเภท&$กรอง =&$ด้านบน = 9999

ฉันเลือก 9999 ในกรณีนี้ ตั้งแต่ผมรู้ว่า growth-wise, ไม่มีมากกว่า 200 หรือเพื่อ เพิ่มแถวลงในรายการนี้ในปี  ถ้ามัน ungainly, เราสามารถนำบางเพลงถนน.

</สิ้นสุด>

undefinedสมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

ง่าย และรวดเร็ว: แก้ "พารามิเตอร์ URL ไม่ถูกต้อง” ปัญหากับ UpdateListItems lists.asmx

เมื่อทำงานกับ UpdateListItems ผ่าน lists.asmx, ง่ายต่อการสร้างข้อผิดพลาด:

พารามิเตอร์ URL ไม่ถูกต้อง.

ผู้ให้บริการประกอบด้วยคำสั่งหรือค่าไม่ถูกต้อง. กรุณาตรวจสอบ URL อีกครั้ง.

คุณจะได้รับข้อผิดพลาดนี้เมื่อคุณลืมที่จะรวมรหัสในการรายการของฟิลด์การปรับปรุงได้  นี้, ชอบมากของ SP เว็บบริการเหล่านี้, เป็นบิต counterintuitive เนื่องจากจะต้องใส่ ID ในแอตทริบิวต์ ID ของ <วิธีการ> องค์ประกอบการ  และคุณไม่ปรับปรุง 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" คำสั่ง ="ปรับปรุง">
            <ฟิลด์ชื่อ ="CooperativeLock">ล็อก!</ฟิลด์>
            <ฟิลด์ชื่อ ="ID">1</ฟิลด์>
          </วิธีการ>
        </ชุด>                     
        </การปรับปรุง>                
      </UpdateListItems>             
  </soapenv:เนื้อความ>         
</soapenv:ซองจดหมาย>

ถ้าคุณถอดเสื้อผ้าออกอ้างอิงฟิลด์รหัส แล้วคุณจะได้รับข้อความ "พารามิเตอร์ URL ไม่ถูกต้อง" น่ารำคาญ.

</สิ้นสุด>

undefinedสมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin