HTTP 406 SharePoint dinlenme bitiş noktaları karşı açısal $http.get kullanırken hata

Güncelleştirme: Marc reklam ndersson bu büyük parça-in haberdar etmek işaret etti.: http://blogs.Office.com/2014/08/13/JSON-Light-support-Rest-SharePoint-api-released/. Bu çok açıklayıcı oldu :).

Bu kadar kötü başlık bir blog yazısı olabilir! Her neyse.

Ben genellikle yapmak tüm-in benim prototipleme karşı bir O365 örneği. Benim kişisel örnek başka birini etkileyen hakkında endişeli olmaya gerek yok ben vardır. Bir kenara olarak – ne zaman bizim laptoplarda MOSS ile– sanal makineleri taşınan arayacağız SQL Server hatırlıyorum, IIS, Hyper-V vs karar verme. VMWare? Her neyse...

Bu ortamda açısal kullanarak bir uygulama geliştirmişti., diğer şeyler arasında, Bu:

$http.get(serverUrl)
.başarı(işlevi(veri, durumu, başlıkları, config) {

var getLinksResponse = veri;

getLinksResponse.value.forEach(işlevi(Result) {

// ve benzeri ve çok saçma

Bu sadece iyi iki farklı SharePoint çevrimiçi ortamlarda çalışıyordu. Ancak, Ne zaman benim meslektaşım Cloudshare örneğine taşıdık, o was getting bir HTTP 406 hata (Bu aldığım ilk kez neydi, Bu yüzden... yay, Sanırım). Biraz araştırma yaptım ve "Kabul ediyorum" başlık kapalı olduğunu fark ettim. SharePoint online ile gayet mutlu:

Kabul etmek: uygulama/json

Ama cloudshare örneği (prem üzerinde SP hangisi, sanal sunucuda barındırılan) Klasik istedim "odata = verbose" de eklendi:

Kabul etmek: uygulama/json;Odata = verbose

Bunu düzeltmek için, Bu başlığı eklendi:

config var = {başlıkları: {
'Kabul': ' uygulama/json;Odata = verbose'
}
};

$http.get(serverUrl,config)
.başarı(işlevi(veri, durumu, başlıkları, config) {

var getLinksResponse = veri;

getLinksResponse.value.forEach(işlevi(Result) {

// ve benzeri ve çok saçma

Bu var kurtulun 406, Ama aynı zamanda yanıt biçimi değişti. Daha fazla... ayrıntılı. (haha!) Daha fazla değişiklik gerekli ve nihai sonuç:

config var = {başlıkları: {
'Kabul': ' uygulama/json;Odata = verbose'
}
};

$http.get(serverUrl,config)
.başarı(işlevi(veri, durumu, başlıkları, config) {

var getLinksResponse = veri;

getLinksResponse.d.results.forEach(işlevi(Result) {

// ve benzeri ve çok saçma

Bu sadece içine açık bir 30 bizim için dakika sorun, Biz dışarı lucked. Umarım kimse bu yararlı bulur.

</sonunda>

2 “Üzerine düşüncelerHTTP 406 SharePoint dinlenme bitiş noktaları karşı açısal $http.get kullanırken hata

Cevap bırak

E-posta hesabınız yayımlanmayacak. Gerekli alanlar işaretlendi *