Aktualizacja: Marc AD ndersson wskazał ten wielki kawałek informacji: http://blogs.Office.com/2014/08/13/JSON-Light-support-Rest-SharePoint-API-released/. To wiele wyjaśnia :).
To może być najgorszym tytuł blogu nigdy! Anyhoo.
Zazwyczaj jak wszystkie moje prototypów przed wystąpienie O365. Mam mój osobisty wystąpienie, tak że nie trzeba się martwić o wpływających na nikogo innego. Tak na marginesie-pamiętam kiedy nazywamy prowadzona wokół maszyn wirtualnych na laptopy z mech – SQL Server, USŁUGI IIS, decydującym vs Hyper-V. VMWare? Anyhoo...
I rozwinął aplikacji za pomocą kątowa w tym środowisku, który robi, między innymi, to:
$http.get(serverUrl)
.sukces(Funkcja(dane, stan, nagłówki, config) {var getLinksResponse = dane;
getLinksResponse.value.forEach(Funkcja(theResult) {
// i tak dalej i tak piany
To działa dobrze w dwóch różnych środowisk SharePoint. Jednakże, Kiedy mój kolega przeniesiony do wystąpienie Cloudshare, był już HTTP 406 błąd (który został po raz pierwszy kiedykolwiek dostał ten jeden, tak... yay, Tak myślę). Zrobiłem trochę badań i zauważyłem, że "Akceptuj" nagłówek był wyłączony. Usługi SharePoint online był całkowicie zadowolony z:
Zaakceptować: aplikacji/json
Ale cloudshare wystąpienie (czyli SP na prem, hostowane na serwerze wirtualnym) chciał classic "odata = verbose" dodaje się również w:
Zaakceptować: aplikacji/json;odata = verbose
Aby ustalić, że, Dodaliśmy nagłówka jako takie:
var config = {nagłówki: {
'Accept': "aplikacja/json;odata = verbose'
}
};$http.get(serverUrl,config)
.sukces(Funkcja(dane, stan, nagłówki, config) {var getLinksResponse = dane;
getLinksResponse.value.forEach(Funkcja(theResult) {
// i tak dalej i tak piany
Że dostał uwalniać od 406, ale to także zmieniony format odpowiedzi. To było więcej... pełne. (haha!) Zmiany były potrzebne i oto wynik końcowy:
var config = {nagłówki: {
'Accept': "aplikacja/json;odata = verbose'
}
};$http.get(serverUrl,config)
.sukces(Funkcja(dane, stan, nagłówki, config) {var getLinksResponse = dane;
getLinksResponse.d.results.forEach(Funkcja(theResult) {
// i tak dalej i tak piany
To tylko zwrócił się do 30 minut problem dla nas, więc mamy pecha. Mam nadzieję, że ktoś znajdzie to przydatne.
</koniec>