如果你想merge calendar events 到你的local variable,这里有一个简单的例子来说明如何做到这一点。
- 创建 calendarEvents 数组
- 使用calendar.events.list()方法列出日历事件
- 将结果数据添加到 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 是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 }
}
]
我希望这些例子能让事情变得更清楚。
如果出现问题,您始终可以使用位于Google Calendar API Reference 页面右侧的 Try This Api 直接在浏览器中测试您的请求
参考资料: