如何使用 JavaScript 上的 Google Calendar API 添加与会者

问题描述 投票:0回答:2

我正在尝试使用 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
            }
        ]
    }
}
javascript reactjs calendar google-calendar-api
2个回答
0
投票

Events.patch方法明确指出:

您指定的字段值将替换现有值。您未在请求中指定的字段保持不变。数组字段,如果指定,将覆盖现有数组;这会丢弃任何先前的数组元素。

因此,当您添加“与会者”字段时,它将替换现有的与会者数组。


您应该使用 Events.update 方法,该方法在添加新参与者时不会删除以前的参与者。


0
投票

您遇到过任何解决方案吗?我也面临同样的问题。

© www.soinside.com 2019 - 2024. All rights reserved.