美好的一天,
为了只在需要时添加详细信息,我将描述我遇到的问题,然后根据需要提供示例来找到答案。
在Outlook中,我可以创建一个约会,这似乎只是一个会议,我是组织者,也是唯一没有邀请发送的与会者。
当我在Outlook中创建一个日历条目作为约会(没有邀请),然后在Outlook中编辑它时," To:"字段未显示,我可以点击邀请与会者。
在Outlook中,我还可以创建一个新的会议,这个会议似乎与约会相同,但是除了我自己之外的其他与会者会在此过程中收到邀请。
在此页面上:https://msdn.microsoft.com/en-us/office/office365/api/calendar-rest-operations它表示"事件操作事件表示用户日历上的约会或会议。事件可以是系列主数据(用于重复发生的事件),事件,单个实例或异常。"
如果我在Outlook客户端中创建会议和约会,然后使用API请求它们并比较事件的属性,我找不到它们之间的功能差异。他们都让我作为组织者,而我作为参与者,他们似乎都有相同的事件类型和其他属性。
如果我使用API创建一个新事件,并尝试离开" Attendees" null,它将无法使用"错误请求"创建。如果我把自己当作组织者和参加者(或者只是参加者),它会创建活动,但会在我的展望中显示为会议,并且没有回复"。
我无法弄清楚设置的组合,以使用API创建一个在outlook而非会议中显示为约会的事件。
在使用其余的api创建没有任何与会者/邀请的活动时,是否需要以某种方式发送的属性或设置?
谢谢!
史蒂夫
答案:
感谢Jeffrey Chen,我能够在发送的帖子数据中找到问题。
我为CalendarEvent创建了一个DTO,其中包含" Attendees"作为列表,但我没有初始化此列表。
如果我在没有参加者的情况下序列化为JSON,则此属性变为null而不是空数组[]。
事实证明,与会者属性可以完全省略,但如果包含它,则必须是空数组或包含实际与会者,null会导致错误请求。
谢谢!
答案 0 :(得分:2)
我无法弄清楚设置的组合,以使用API创建一个在outlook而非会议中显示为约会的事件。
如果我理解正确,您希望通过Outlook REST API创建约会。如果是这样,您可以发布如下请求:
{
"Subject": "Create from Office 365 API",
"Start": {
"DateTime": "2016-03-24T15:00:00",
"TimeZone": "China Standard Time"
},
"End": {
"DateTime": "2016-03-24T16:00:00",
"TimeZone": "China Standard Time"
}
}