โปรแกรมปรับปรุง: Ndersson AD มาร์คชี้ให้เห็นชิ้นส่วนของข้อมูลนี้ดี: http://blogs.office.com/2014/08/13/json-light-support-rest-sharepoint-api-released/. ที่อธิบายมาก :).
ที่อาจเป็นเรื่องเลวร้ายที่สุดของบล็อกโพสต์เคย! Anyhoo.
โดยทั่วไปทำต้นแบบของฉันกับอินสแตนซ์ของ O365 ทั้งหมด. มีอินสแตนซ์ของฉันส่วนบุคคลเพื่อให้ไม่ต้องกังวลเกี่ยวกับผลกระทบต่อใคร. เป็นพังเพย – จำเมื่อเราเรียกมีรอบเครื่องเสมือนบนแล็ปท็อปของเรากับมอส – SQL Server, IIS, ไฮเปอร์-V เทียบกับการตัดสินใจ. VMWare? Anyhoo ...
ฉันได้พัฒนา app ใช้เชิงมุมในสภาพแวดล้อมนี้ไม่, ในสิ่งอื่น ๆ, นี้:
$http.get(serverUrl)
.ประสบความสำเร็จ(ฟังก์ชัน(ข้อมูล, สถานะ, หัวข้อ, การกำหนดค่า) {var getLinksResponse =ข้อมูล;
getLinksResponse.value.forEach(ฟังก์ชัน(theResult) {
// และอื่น ๆ และอื่น ๆ froth
นี้ทำงานเพียงแค่ปรับในสองแตก SharePoint ออนไลน์. อย่างไรก็ตาม, เมื่อเพื่อนร่วมงานของฉันส่งมันไปที่อินสแตนซ์ Cloudshare, เขาได้รับการ HTTP 406 ข้อผิดพลาด (ซึ่งเป็นครั้งแรกที่เคยได้ที่หนึ่งหรือไม่, ดังนั้น...เย่, ฉันเดาเอา). เราได้บิตของการวิจัย และพบว่า หัวข้อ "ยอมรับ" ถูกปิด. SharePoint แบบออนไลน์ได้อย่างมีความสุขกับ:
ยอมรับ: แอพลิเคชัน/เจซัน
แต่อินสแตนซ์ cloudshare (ซึ่งเป็น SP ในเปรม, โฮสต์ในเซิร์ฟเวอร์เสมือน) ต้องคลาสสิค " odata = verbose " เพิ่มในเช่น:
ยอมรับ: แอพลิเคชัน/เจซัน;odata = verbose
การแก้ไขปัญหานั้น, เราได้เพิ่มหัวข้อเช่น:
กำหนดค่า var = {หัวข้อ: {
'ยอมรับ': ' แอพลิเคชัน/เจซัน;odata = verbose'
}
};$http.get(serverUrl,การกำหนดค่า)
.ประสบความสำเร็จ(ฟังก์ชัน(ข้อมูล, สถานะ, หัวข้อ, การกำหนดค่า) {var getLinksResponse =ข้อมูล;
getLinksResponse.value.forEach(ฟังก์ชัน(theResult) {
// และอื่น ๆ และอื่น ๆ froth
ที่ได้รับการกำจัด 406, แต่ยังเปลี่ยนแปลงรูปแบบของการตอบสนอง. ก็เพิ่มเติม... verbose. (ฮาฮา!) เปลี่ยนแปลงที่ถูกต้อง และนี่คือผลลัพธ์ขั้นสุดท้าย:
กำหนดค่า var = {หัวข้อ: {
'ยอมรับ': ' แอพลิเคชัน/เจซัน;odata = verbose'
}
};$http.get(serverUrl,การกำหนดค่า)
.ประสบความสำเร็จ(ฟังก์ชัน(ข้อมูล, สถานะ, หัวข้อ, การกำหนดค่า) {var getLinksResponse =ข้อมูล;
getLinksResponse.d.results.forEach(ฟังก์ชัน(theResult) {
// และอื่น ๆ และอื่น ๆ froth
นี้เปิดเข้าไปในตัว 30 ปัญหานาทีสำหรับเรา, ดังนั้น เรา lucked ออก. หวังว่าคนพบนี้มีประโยชน์.
</สิ้นสุด>
พอล:
ผมคิดว่า คุณถูกจับ โดยเจซันไลท์ตัวเลือกที่อธิบายไว้ในบทความนี้ในบล็อกสำนักงาน:
http://blogs.office.com/2014/08/13/json-light-support-rest-sharepoint-api-released/
ตั้งแต่เปลี่ยน, ถ้าคุณไม่ระบุค่า, มันเป็นค่าเริ่มต้น minimalmetadata. คิดนี้ได้ทำให้สถานที่ติดตั้งได้, จึงยก.
M.
ขอขอบคุณ! เป็นข้อมูลที่ดี.