在 Google Apps 脚本中,您有两种与 Google 日历交互的方式;日历服务和高级日历服务(又名日历 API) ,必须通过高级 Google 服务启用。
ACS 使用来自Google Calendar API的资源表示,因此extendedProperties
可以作为您可以通过 API 获取的事件对象的一部分使用。
这是 ACS 文档中示例的简单修改,它将记录每个事件的“通话号码”。
function listNext10Events() {
var calendarId = 'primary';
var now = new Date();
var events = Calendar.Events.list(calendarId, {
timeMin: now.toISOString(),
singleEvents: true,
orderBy: 'startTime',
maxResults: 10
});
if (events.items && events.items.length > 0) {
for (var i = 0; i < events.items.length; i++) {
var event = events.items[i];
if (event.start.date) {
// All-day event.
var start = parseDate(event.start.date);
Logger.log('%s (%s)', event.summary, start.toLocaleDateString());
} else {
var start = parseDate(event.start.dateTime);
Logger.log('%s (%s)', event.summary, start.toLocaleString());
}
/********************************************************************/
if (event.hasOwnProperty("talk-number"))
Logger.log(event.extendedProperties.private["talk-number"]);
/********************************************************************/
}
} else {
Logger.log('No events found.');
}
}
您可以使用以下方法更新您的功能:
var eventId = events[i].getId().replace(/@.*/,''); // Remove @google.com from eventId
var event = Calendar.Events.get(calendarId, eventId)
myTalkNo = event.extendedProperties.private["talk-number"];