使用 Outlook 日历休息 API 添加与会者会删除较旧的与会者
Posted
技术标签:
【中文标题】使用 Outlook 日历休息 API 添加与会者会删除较旧的与会者【英文标题】:Adding attendee using Outlook Calendar rest API removes older attendees 【发布时间】:2017-04-24 12:35:18 【问题描述】:我正在使用 Outlook 日历休息 API。 创建活动时,参与者已成功添加。
稍后,如果我想更新活动并再添加一位与会者,我正在使用 PATCH。但它会删除该活动的任何先前参与者。
创建活动的 URL
发布https://outlook.office.com/api/v2.0/me/events
身体参数
"Subject": "Discuss the Calendar REST API 2",
"Body":
"ContentType": "html",
"Content": "I think it will meet our requirements!"
,
"Start":
"DateTime": "2017-04-25T18:00:00",
"TimeZone": "Asia/Kolkata"
,
"End":
"DateTime": "2017-04-25T19:00:00",
"TimeZone": "Asia/Kolkata"
,
"Attendees": [
"EmailAddress":
"Address": "abc@xyz.com",
"Name": "ABC"
,
"Type": "Required"
]
更新事件的 URL
补丁https://outlook.office.com/api/v2.0/me/events/eventId
身体参数
"Attendees": [
"EmailAddress":
"Address": "def@xyz.com",
"Name": "def"
,
"Type": "Required"
]
执行此操作后,之前的与会者“abc@xyz.com”被删除并收到取消的活动邮件,新的与会者“def@xyz.com”被添加。
请帮我解决这个问题。
【问题讨论】:
【参考方案1】:是的,这是预期的行为。如果您使用的是 PATCH api,则需要将您之前添加的与会者列表提供给它。否则,它认为你已经删除了它们。因此,当您使用 GET api(获取事件)时,保存与会者列表并在此列表中添加或删除,然后使用 PATCH 调用发送。
【讨论】:
有没有办法只添加一个与会者而不通过所有现有与会者的列表 否,与会者数组被 PATCH api 覆盖,因此,如果旧与会者不在新数组中,则假定您已将其删除。这是有道理的,否则,您如何从活动中删除与会者? (因为我们没有删除与会者 api 调用) 假设我的活动有 500 名参与者。如果我只想添加一个,我必须发送所有现有 500 名与会者的数据。它不会影响我的应用程序的性能吗? 我还面临一个问题。如果我创建了一个活动,然后我发送了一个补丁请求来更改与会者的响应。例如。 “与会者”:[“类型”:“必填”,“状态”:响应“:“接受”,“时间”:“0001-01-01T00:00:00Z”,电子邮件地址“:”名称": "abc", "Address": "abc@xyz.com" ] 然后接受的回复显示在组织者的日历中,但不在与会者的日历中。如何在与会者的日历中也接受会议邀请。 您的第一个问题是大约有 500 名与会者,这不会造成任何性能问题,因为您的阵列只是一个简单的电子邮件地址阵列。关于您的第二个问题,您是否尝试代表与会者接受/拒绝会议请求?我不认为这是可能的。与会者本人必须使用此处列出的 api 调用来响应请求:msdn.microsoft.com/en-us/office/office365/api/… 如果您对如何使用它们有任何疑问,请告诉我!以上是关于使用 Outlook 日历休息 API 添加与会者会删除较旧的与会者的主要内容,如果未能解决你的问题,请参考以下文章
UCWA 可以检索已安排的 Microsoft Outlook 会议吗?
如何以编程方式将访客与会者添加到保存时的 GSuite 日历事件