HTTP 406 Hiba mikor használ szögletes $http.get ellen SharePoint többi végpontok

Frissítés: Marc AD ndersson rámutatott, ezt a nagy darab info: http://blogs.Office.com/2014/08/13/JSON-Light-support-Rest-SharePoint-API-Released/. Hogy sok mindent megmagyaráz :).

Lehet, hogy a legrosszabb cím egy blog felad valaha! Anyhoo.

Általában csinálni, minden az én prototípus ellen O365 példány. Nekem van az én-m személyes például úgy, hogy ne kelljen érintő valaki aggódik. Mint egy félre-emlékszik mikor hívjuk végzett, ezen a környéken: virtuális gépek a mi laptopok-és MOSS-SQL Server, IIS, döntés a Hyper-V vs. VMWare? Anyhoo...

Én alakult egy app segítségével szög ebben a környezetben amit csinál, egyebek, Ez:

$http.Get(serverUrl)
.siker(függvény(adatok, állapot, fejlécek, config) {

var getLinksResponse = adatok;

getLinksResponse.value.forEach(függvény(importőrrel) {

// és így tovább és így hab.

Ez volt csak finom környezetben dolgozó két különböző SharePoint online. Azonban, Mikor a kollégám átvittem ez egy Cloudshare-példány, ő volt szerzés egy HTTP 406 hiba (melyik volt az első alkalom, amit valaha kaptam, hogy az egyik, így... yay, azt hiszem). Csináltam egy kis kutatást, és észrevettem, hogy az "Elfogadom" fej le. SharePoint online tökéletesen elégedett volt:

Fogadja el: Application/json

De a cloudshare példány (amely az SP prem, a virtuális kiszolgálón tárolt) szerettem volna a klasszikus "odata = verbose" hozzáadott-ban, valamint:

Fogadja el: Application/json;OData = verbose

Rögzíteni, hogy, adtunk a fejlécben ilyen:

var config = {fejlécek: {
'Accept': "application/json;OData = verbose "
}
};

$http.Get(serverUrl,config)
.siker(függvény(adatok, állapot, fejlécek, config) {

var getLinksResponse = adatok;

getLinksResponse.value.forEach(függvény(importőrrel) {

// és így tovább és így hab.

Hogy megszabadultak az 406, de ez is megváltozott a formátum a válasz. Ez több volt... részletes. (haha!) További módosítások voltak szükségesek, és itt van a végleges eredmény:

var config = {fejlécek: {
'Accept': "application/json;OData = verbose "
}
};

$http.Get(serverUrl,config)
.siker(függvény(adatok, állapot, fejlécek, config) {

var getLinksResponse = adatok;

getLinksResponse.d.Results.forEach(függvény(importőrrel) {

// és így tovább és így hab.

Ez csak esztergált-ba egy 30 perc probléma a számunkra, Tehát mi lucked arra. Remélhetőleg valaki talál ez hasznos.

</vége>

2 gondolatok „HTTP 406 Hiba mikor használ szögletes $http.get ellen SharePoint többi végpontok

hagyj válaszüzenetet

Az e-mail címed nem kerül nyilvánosságra. Kötelező kitölteni *