если вы хотите merge calendar events
до вашего local variable
, вот простой пример того, как это сделать.
- Создание массива calendarEvents
- Список событий календаря с помощью calendar.events.list () method
- Добавление данных результатов в calendarEvents
- Распечатайте свои данные
// 1
let calendarEvents = [];
function listEvents(auth){
const calendar = google.calendar({version: 'v3', auth});
// 2
calendar.events.list({
calendarId: 'primary',
timeMin: "2020-1-1T22:00:00.000Z",
maxResults: 10,
singleEvents: true,
orderBy: 'startTime'
}, (err, res) => {
if (err) return console.log('Error #1001 - The Calendar API returned an error: ' + err);
// 3
const events = res.data.items;
if (events.length) {
events.map((event, i) => {
const start = event.start.dateTime || event.start.date;
calendarEvents.push(`\n ${start} - ${event.summary}`);
});
// 4
console.log(calendarEvents)
} else {
console.log('No upcoming events found.');
}
});
}
Если вы хотите update calendar event
, вы можете использовать calendar.events.update ()
Вот простой пример:
function updateEvent(auth){
const calendar = google.calendar({version: 'v3', auth});
calendar.events.update({
"calendarId": "primary",
"eventId": "___eventId___", // how to get eventId, scroll down
"resource": {
"start": {
"dateTime": "2020-01-15T05:00:00-05:00"
},
"end": {
"dateTime": "2020-01-15T06:00:00-05:00"
},
"location": "Updated location",
"summary": "Updated summary",
"attendees": [
{
"email":"updatedEmail@gmail.com"
}
]
}
}, (err, res) => {
if (err) return console.log('Error #1002 - The Calendar API returned an error: ' + err);
});
}
Как получить eventId?
Использовать метод events.list () и в ответ использовать console.log (res.data.items.events), вот пример:
function listEvents(auth) {
const calendar = google.calendar({version: 'v3', auth});
calendar.events.list({
calendarId: 'primary',
timeMin: "2020-1-1T22:00:00.000Z",
maxResults: 10,
singleEvents: true,
orderBy: 'startTime',
}, (err, res) => {
if (err) return console.log('Error #1001 - The Calendar API returned an error: ' + err);
const events = res.data.items;
console.log(events);
});
}
и это вывод, у меня только 1 событие,
, поэтому id
is 12sv34jssjjov56jq7c8vlbjkd
[
{
kind: 'calendar#event',
etag: '"3157989414186000"',
id: '12sv34jssjjov56jq7c8vlbjkd',
status: 'confirmed',
htmlLink: 'https://www.google.com/calendar/event?eid=blablabla',
created: '2020-01-14T09:23:46.000Z',
updated: '2020-01-14T09:38:27.093Z',
summary: 'Updated summary',
location: 'Updated location',
creator: { email: 'myEmail@gmail.com', self: true },
organizer: { email: 'myEmail@gmail.com', self: true },
start: { dateTime: '2020-01-15T05:00:00-05:00' },
end: { dateTime: '2020-01-15T06:00:00-05:00' },
iCalUID: 'myEmail@gmail.com',
sequence: 1,
attendees: [ [Object] ],
hangoutLink: 'https://meet.google.com/123-4567-890',
conferenceData: {
entryPoints: [Array],
conferenceSolution: [Object],
conferenceId: '123-4567-890',
signature: '32ipslWNrbuVDju4rHvyOpVzH/gj'
},
reminders: { useDefault: true }
}
]
Надеюсь, эти примеры прояснят ситуацию. Если что-то пойдет не так, вы всегда можете проверить свой запрос непосредственно в браузере, используя Try This Api, который расположен в правой части Справочник по API Календаря Google страница
Ссылки: