HTTP 406 使用角 $HTTP.get 針對 SharePoint 休息結束點時的錯誤

更新: 馬克 AD ndersson 指出資訊這個偉大的作品: http://blogs.office.com/2014/08/13/json-light-support-rest-sharepoint-api-released/. 這也解釋了很多 :).

這可能是最糟糕的一篇博客文章標題過! 安美居.

我通常做所有我針對 O365 實例的原型. 我有我個人的實例,所以,我不需要擔心影響別人. 順便說一句 — — 記得當我們稱之為進行虛擬機器周圍長滿了苔蘚 — — 我們筆記本電腦上 SQL Server, IIS, 決定 HYPER-V vs. VMWare? 安美居......

已經開發了一個應用程式,在這種環境不使用角, 除其他事項外, 這:

$HTTP.get(serverUrl)
.成功(功能(資料, 狀態, 標題, 配置) {

var getLinksResponse = 資料;

getLinksResponse.value.forEach(功能(結果) {

// 和這麼泡沫

這兩種不同 SharePoint 線上環境中工作正常. 不過, 當我的同事將其移植到一個 Cloudshare 實例時, 他正 HTTP 406 錯誤 (其中第一次我收到過那個, 所以...耶, 我想). 我們做了一些研究,發現"接受"標題關閉. SharePoint 線上感到滿意:

接受: 應用程式/json

但 cloudshare 實例 (即 SP prem, 在虛擬伺服器中承載) 想要經典"odata = 詳細"以及在中添加:

接受: 應用程式/json;odata = 詳細

要解決這個問題, 我們添加了這樣的標題:

var config = {標題: {
接受: 應用程式/json;odata = 詳細 '
}
};

$HTTP.get(serverUrl,配置)
.成功(功能(資料, 狀態, 標題, 配置) {

var getLinksResponse = 資料;

getLinksResponse.value.forEach(功能(結果) {

// 和這麼泡沫

那擺脫 406, 但它也改變了回應的格式. 它是更多......詳細. (哈哈!) 需要更多的變化,這裡是最後的結果:

var config = {標題: {
接受: 應用程式/json;odata = 詳細 '
}
};

$HTTP.get(serverUrl,配置)
.成功(功能(資料, 狀態, 標題, 配置) {

var getLinksResponse = 資料;

getLinksResponse.d.results.forEach(功能(結果) {

// 和這麼泡沫

這只變成 30 我們的小問題, 所以我們很幸運. 希望有人發現這很有用.

</結束>

2 上“的想法HTTP 406 使用角 $HTTP.get 針對 SharePoint 休息結束點時的錯誤

留言

您的電子郵件地址不會被公開. 必需的地方已做標記 *