我在Office 365 API中使用Calendar REST,并尝试根据以下示例发布事件:http://msdn.microsoft.com/en-us/library/office/dn792114(v=office.15).aspx
我得到的回应是
{error: {code: "ErrorInvalidRequest" message: "Cannot read the request body."} }
当我使用Avanced Rest Client发布到Content-Type: application/json
的网址https://outlook.office365.com/ews/odata/Me/Events时,我正在使用office365服务帐户。
我发布的JSON是从上面链接中的示例复制的
{
"@odata.type": "#Microsoft.Exchange.Services.OData.Model.Event",
"Subject": "Discuss the Calendar REST API",
"Body": {
"ContentType": "HTML",
"Content": "I think it will meet our requirements!"
},
"Start": "2014-07-02T18:00:00Z",
"End": "2014-07-02T19:00:00Z",
"Location": {
"DisplayName": "Conference Room 1"
},
"ShowAs": "Busy",
"Attendees": [
{
"Name": "Alex Darrow",
"Address": "alexd@contoso.com",
"Type": "Required"
},
{
"Name": "Anne Wallace",
"Address": "annew@contoso.com",
"Type": "Optional"
},
{
"Name": "Conference Room 1",
"Address": "conf1@contoso.com",
"Type": "Resource"
}
]
}
如果"@odata.type": "#Microsoft.Exchange.Services.OData.Model.Event"
与"Attendees"
一起删除,则帖子成功。
如果有人能提供帮助,将不胜感激。
答案 0 :(得分:1)
感谢您的来信,对此给您带来的不便,我们深表歉意!以下是您的请求的修改版本,应该可以使用。我做了两处改动。参加者列表现在包括一个名为EmailAddress的类型。我还省略了@ odata.type,因为您不必包含它,因为您要发布到集合,所以我们的服务会推断出类型。邮件,日历和联系人的命名空间已从"#Microsoft.Exchange.Services.OData.Model"更新。到" #Microsoft.OutlookServices"这就是@ odata.type为你返回错误的原因。
{
"Subject": "Discuss the Calendar REST API",
"Body": {
"ContentType": "HTML",
"Content": "I think it will meet our requirements!"
},
"Start": "2014-07-02T18:00:00Z",
"End": "2014-07-02T19:00:00Z",
"Location": {
"DisplayName": "Conference Room 1"
},
"ShowAs": "Busy",
"Attendees": [
{
"EmailAddress": { "Name": "Alex Darrow", "Address": "alexd@contoso.com" },
"Type": "Required"
},
{
"EmailAddress": { "Name": "Anne Wallace", "Address": "annew@contoso.com"},
"Type": "Optional"
},
{
"EmailAddress": { "Name": "Conference Room 1", "Address": "conf1@contoso.com" },
"Type": "Resource"
}
]
}
这是一些额外的背景。我们目前正在对我们的邮件,日历和联系人API进行更改,以响应我们从预览用户收到的反馈。由于其中一些更改正在发生变化,而我们尚未添加版本控制,因此您会看到此问题。版本控制是向Office 365推出的更改的一部分,非向后兼容的更改不会成为版本控制的问题。我们正在努力尽快更新我们的文档和客户端库。与此同时,我们在这里发布了一个announcement,以便让开发人员了解情况。
如果您有任何疑问或需要更多信息,请与我们联系。
谢谢,
Venkat