Aktualizovat: Marc AD ndersson poukázal na tento velký kus info: http://blogs.Office.com/2014/08/13/JSON-Light-support-Rest-SharePoint-API-Released/. To vysvětluje hodně :).
To může být vůbec nejhorší titul blogu! Anyhoo.
Jsem obvykle dělat všechny moje prototypování proti O365 instance. Mám své osobní instance tak, že se nemám bát a ovlivňuje někdo jiný. Jako stranou – si říkáme provedeno kolem virtuálních strojů na našich noteboocích s MECHEM – SQL Server, SLUŽBA IIS, rozhodnutí vs Hyper-V. VMWare? Anyhoo...
Jsem si vyvinul app pomocí úhlové v tomto prostředí, které se, mimo jiné, to:
$http.Get(serverUrl)
.úspěch(funkce(údaje, stav, záhlaví, config) {var getLinksResponse = data;
getLinksResponse.value.forEach(funkce(Výsledky) {
// a tak dále a tak pěnu
To bylo v pořádku jen ve dvou různých prostředích online služby SharePoint. Avšak, když můj kolega portován na instanci Cloudshare, vystupoval HTTP 406 Chyba (což bylo poprvé, co jsem kdy dostal tenhle, Takže... hurá, Asi). Jsme trochu výzkumu a všiml si, že záhlaví "Přijmout" vypnuto. SharePoint online byl naprosto spokojený s:
Přijmout: aplikace/json
Ale cloudshare instance (což je SP na prem, hostitelem virtuálního serveru) Chtěl klasické "odata = verbose" přidána také:
Přijmout: aplikace/json;OData = verbose
Chcete-li opravit, Přidali jsme záhlaví jako takové:
var config = {záhlaví: {
"Přijmout": "aplikace/json;OData = verbose'
}
};$http.Get(serverUrl,config)
.úspěch(funkce(údaje, stav, záhlaví, config) {var getLinksResponse = data;
getLinksResponse.value.forEach(funkce(Výsledky) {
// a tak dále a tak pěnu
To se zbavil 406, ale to také změnil formát odpovědi. To bylo více... verbose. (haha!) Další změny byly nutné, a tady je konečný výsledek:
var config = {záhlaví: {
"Přijmout": "aplikace/json;OData = verbose'
}
};$http.Get(serverUrl,config)
.úspěch(funkce(údaje, stav, záhlaví, config) {var getLinksResponse = data;
getLinksResponse.d.Results.forEach(funkce(Výsledky) {
// a tak dále a tak pěnu
Jen se proměnil v 30 minutě problém pro nás, tak to máme štěstí. Doufejme, že někdo zjistí, to užitečné.
</Konec>