私の目標は、GoogleカレンダーとGoogleスプレッドシートを自動的に同期させることです。カレンダーに予定が追加されるたびに、行がGoogleスプレッドシートに追加されます。 Googleのスプレッドシートに予定されているイベントのリストを読み込むスクリプトを書いた。 このコードは動作しており、スクリプトを実行するたびに10個のイベントのリストが追加されます。しかし、私が望むのは、Googleカレンダーを介してイベントが作成されたときにこのスクリプトを自動的に実行し、重複したイベントを避けたいということです。そのようなイベントリスナーにはどのような機能がありますか?GoogleカレンダーをGoogleスプレッドシートと同期させるにはどうすればよいですか?
function listUpcomingEvents() {
var calendarId = '[email protected]e.com';
var optionalArgs = {
timeMin: (new Date()).toISOString(),
showDeleted: false,
singleEvents: true,
maxResults: 10,
orderBy: 'startTime'
};
var response = Calendar.Events.list(calendarId, optionalArgs);
var events = response.items;
if (events.length > 0) {
for (i = 0; i < events.length; i++) {
var event = events[i];
var when = event.start.dateTime;
if (!when) {
when = event.start.date;
}
Logger.log('%s (%s)', event.summary, when);
addEventToSheet(event.summary, when);
}
} else {
Logger.log('No upcoming events found.');
}
}
function addEventToSheet(sumarry, date) {
var sheet = SpreadsheetApp.getActiveSheet();
sheet.appendRow([sumarry, date]);
}