0

我正在使用Outlook日历rest API。 在创建活动时,与会者已成功添加。使用Outlook日历rest API添加与会者删除较旧的与会者

后来,如果我希望更新事件并添加一个与会者,我正在使用PATCH。但它会删除以前的任何与会者。

URL创建事件

POST https://outlook.office.com/api/v2.0/me/events

身体PARAM

{ 
    "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": "[email protected]", 
     "Name": "ABC" 
     }, 
     "Type": "Required" 
    } 
    ] 
} 

URL更新活动

PATCH https://outlook.office.com/api/v2.0/me/events/ {} EVENTID

身体PARAM

{ 
    "Attendees": [ 
    { 
     "EmailAddress": { 
     "Address": "[email protected]", 
     "Name": "def" 
     }, 
     "Type": "Required" 
    } 
] 
} 

执行此操作后,先前的与会者“[email protected]”被删除并收到取消的事件邮件,并添加新的与会者“[email protected]”。

请帮我解决这个问题。

回答

2

是的,这是预期的行为。如果您使用的是PATCH api,则需要将其添加到之前添加的与会者列表中。否则,它认为你已经删除它们。因此,当您使用GET api(获取事件)时,保存与会者列表并添加或删除此列表,然后使用PATCH呼叫发送它。

+0

是否有任何方法可以在不传递所有现有与会者列表的情况下添加一个与会者 –

+0

否,与会者数组会被PATCH api覆盖,因此,如果旧参与者不在新数组中,你已经删除它们。这是有道理的,否则,你怎么能从一个事件中删除一个参加者? (因为我们没有删除与会者API调用) –

+0

假设我有500人参加了我的活动。如果我只想添加一个,我必须发送所有现有500名与会者的数据。它不会影响我的应用程序的性能吗? –

相关问题