更新: 馬克 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 我們的小問題, 所以我們很幸運. 希望有人發現這很有用.
</結束>