HTTP 406 Virhe käytettäessä kulmikas $http.get vastaan SharePoint loput loppupisteet

Päivitys: Marc AD ndersson huomautti, tämä suuri pala info: http://blogs.Office.com/2014/08/13/JSON-Light-support-Rest-SharePoint-API-Released/. Tämä selittää paljon :).

Se voi olla pahin otsikko blogi koskaan! Anyhoo.

En yleensä kaikki minun prototyyppien vastaan O365-esiintymä. Minulla on minun henkilökohtainen tapauksessa, jotta ei tarvitse olla huolissaan vaikuttaa joku muu. Sivuhuomautuksena-muistettava, kun kehotamme kuljettaa ympäri virtuaalikoneita meidän läppäreissä MOSS – SQL Server, IIS, päättää Hyper-V vs. VMWare? Anyhoo...

Olin kehittänyt app avulla kulmikas tässä ympäristössä, joka tekee, muun muassa, Tämä:

$http.Get(serverUrl)
.menestys(funktio(tiedot, tila, otsikot, config) {

var getLinksResponse = data;

getLinksResponse.value.forEach(funktio(tulokset toimijalle) {

// ja niin edelleen ja niin Vaahdota

Tämä toimi hienosti kahdessa eri SharePoint online ympäristöissä. Kuitenkin, Kun kollegani ennustaa sen Cloudshare esiintymä, Hän oli tulossa HTTP 406 Virhe (mikä oli ensimmäistä kertaa olen koskaan saanut tuosta, joten... jee, Arvaan). Teimme vähän tutkimusta ja huomasin, että "Hyväksy"-otsikon oli pois. SharePoint Onlinessa on täysin tyytyväinen:

Hyväksy: sovellus/json

Mutta cloudshare esiintymä (Mikä on SP prem, isännöi vuonna virtuaalinen palvelin) Ostetaan klassikko "odata = verbose" lisätään myös:

Hyväksy: sovellus/json;OData = verbose

Vahvistaa, että, Lisäsimme otsikon sellaisenaan:

var config = {otsikot: {
"Salli": "application/json;OData = verbose "
}
};

$http.Get(serverUrl,config)
.menestys(funktio(tiedot, tila, otsikot, config) {

var getLinksResponse = data;

getLinksResponse.value.forEach(funktio(tulokset toimijalle) {

// ja niin edelleen ja niin Vaahdota

Että pääsi eroon 406, mutta myös muuttaa vastauksen muoto. Se oli enemmän... verbose. (haha!) Lisää muutoksia ja tässä on lopputulos:

var config = {otsikot: {
"Salli": "application/json;OData = verbose "
}
};

$http.Get(serverUrl,config)
.menestys(funktio(tiedot, tila, otsikot, config) {

var getLinksResponse = data;

getLinksResponse.d.Results.forEach(funktio(tulokset toimijalle) {

// ja niin edelleen ja niin Vaahdota

Tämä vain tuli 30 meille hetken ongelma, joten meidän lucked. Toivottavasti joku pitää tätä hyödyllisenä.

</loppu>

2 ajatuksia ”HTTP 406 Virhe käytettäessä kulmikas $http.get vastaan SharePoint loput loppupisteet

Jätä vastaus Paul Galvin Peruuta vastaus

Sähköpostiosoitettasi ei julkaista. pakolliset kentät on merkitty *