更新: 马克 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 我们的小问题, 所以我们很幸运. 希望有人发现这很有用.
</结束>