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名與會者的數據。它不會影響我的應用程序的性能嗎? –

相關問題