HTTP 406 Грешка при използване на ъглови $http.get срещу SharePoint ОСТАНАЛИТЕ крайни точки

Актуализация: Марк АД ndersson посочи, това голямо парче на информация: HTTP://blogs.Office.com/2014/08/13/JSON-Light-support-REST-SharePoint-API-Released/. Това обяснява много :).

Това може да бъде най-лошото заглавието на блог пост някога! Anyhoo.

Обикновено се правят всички на моята прототипи срещу O365 екземпляр. Имам моя личен случай, така че не трябва да се притеснявате за някой друг, засягащи. Като настрана-не забравяйте, когато ние наричаме се извършват около виртуални машини за нашите лаптопи с мъх – SQL Server, IIS, определящ Hyper-V срещу. VMWare? Anyhoo...

Се е развил ап използване на Ъгловата в тази среда, която прави, наред с други неща, Това:

$http.get(serverUrl)
.успех(функция(данни, статус, заглавки, довереник) {

var getLinksResponse = данни;

getLinksResponse.value.forEach(функция(Резултатът) {

// и така нататък и така пяна

Това е движение прав глоба в две различни среди SharePoint онлайн. Въпреки това, Когато колегата ми го пренесли на копие на Cloudshare, Той се HTTP 406 грешка (който е за първи път, аз винаги имам една, така... Уау, Предполагам). Направихме малко изследвания и забелязах, че заглавния блок на "Приемат" е изключено. SharePoint онлайн е напълно щастлив с:

Приемете: приложение/json

Но на cloudshare съд (което е SP на prem, домакин на виртуален сървър) Исках на класическия "odata = многословно" прибавка in както и:

Приемете: приложение/json;oData = многословно

Да се определи, че, Ние добавя заглавието като такива:

var довереник = {заглавки: {
"Приемат": "приложение/json;oData = многословно "
}
};

$http.get(serverUrl,довереник)
.успех(функция(данни, статус, заглавки, довереник) {

var getLinksResponse = данни;

getLinksResponse.value.forEach(функция(Резултатът) {

// и така нататък и така пяна

Че се отървах от 406, но това също се промени формата на отговор. Това беше повече... многословен. (Haha!) Ето крайния резултат и повече промени са били необходими:

var довереник = {заглавки: {
"Приемат": "приложение/json;oData = многословно "
}
};

$http.get(serverUrl,довереник)
.успех(функция(данни, статус, заглавки, довереник) {

var getLinksResponse = данни;

getLinksResponse.d.results.forEach(функция(Резултатът) {

// и така нататък и така пяна

Това само се превърна в 30 минута проблем за нас, така че ние lucked. Надявам се някой намери тази полезна.

</край>

2 мисли за "HTTP 406 Грешка при използване на ъглови $http.get срещу SharePoint ОСТАНАЛИТЕ крайни точки

  1. Марк D Андерсън

    Пол:

    Мисля, че ти са били уловени от JSON lite опцията обясни в този пост на Office Блогове:
    http://blogs.office.com/2014/08/13/json-light-support-rest-sharepoint-api-released/
    Тъй като тази промяна, Ако не посочите стойност, по подразбиране minimalmetadata. Аз не мисля, че това е стигнал до в помещенията се инсталира още, по този начин прекъсване на връзката.

    М.

Оставете отговор Пол Galvin Отказване на отговора

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани *