我正在尝试使用 API 将与会者添加到 Google 日历中的活动。
使用以下接近更新功能的方法不会完成该工作,而是会删除所有旧的与会者。
这是代码:
const attendees = (id) => {
var event = gapi.client.calendar.events.get({
"calendarId": 'primary',
"eventId": id
});
// Example showing a change in the location
event.attendees = "[email protected]"
var request = gapi.client.calendar.events.patch({
'calendarId': 'primary',
'eventId': id,
'resource': event
});
request.execute(function(event) {
console.log(event);
});
}
这是返回事件的示例:
{
'summary': 'Event Summary',
'location': 'Event location',
'description': 'Event Description',
'start': {
'dateTime': '2021-08-03T02:17:00+01:00',
'timeZone': 'UTC'
},
'end': {
'dateTime': '2021-08-04T00:20:00+01:00',
'timeZone': 'UTC'
},
'recurrence': [
'RRULE:FREQ=DAILY;COUNT=1'
],
'attendees': [{
'email': '[email protected]'
},
{
'email': '[email protected]'
},
],
'reminders': {
'useDefault': false,
'overrides': [{
'method': 'email',
'minutes': 10
},
{
'method': 'popup',
'minutes': 20
}
]
}
}
Events.patch方法明确指出:
您指定的字段值将替换现有值。您未在请求中指定的字段保持不变。数组字段,如果指定,将覆盖现有数组;这会丢弃任何先前的数组元素。
因此,当您添加“与会者”字段时,它将替换现有的与会者数组。
您应该使用 Events.update 方法,该方法在添加新参与者时不会删除以前的参与者。
您遇到过任何解决方案吗?我也面临同样的问题。