我是Google App Maker的新手,正在尝试构建自己的自定义版本的Calendar示例。在示例中,代码通过getDefaultCalendar获取默认日历。我还有另一个要获取的日历(按名称或ID)。使用getCalendarByName并对其进行调试之后,它会找到日历,但是当我将其与getEvents一起使用时,它不会填充在示例应用程序中。
下面的代码来自日历示例。
/**
* Gets Calendar events.
* @param {Query} query - data query with parameters.
* @return {Array<Event>} events from Calendar.
*/
function getEvents_(query) {
var startDate = query.parameters.StartDate;
startDate.setHours(0, 0, 0, 0);
var endDate = query.parameters.EndDate;
endDate.setDate(endDate.getDate() + 1);
endDate.setHours(0, 0, 0, 0);
if (startDate.getTime() > endDate.getTime()) {
return [];
}
var results = [];
var events =
CalendarApp.getDefaultCalendar().getEvents(startDate,endDate);
events.forEach(function(item) {
var event = app.models.Events.newRecord();
event.StartDate = item.getStartTime();
event.EndDate = item.getEndTime();
event.Title = item.getTitle();
event.Color = item.getColor();
results.push(event);
});
return results;
}
答案 0 :(得分:0)
该函数是带有getCalendarsByName
的{{1}},因此它返回日历数组。如果您知道只会得到一个正确的结果,则只需将代码更改为:
s
CalendarApp.getCalendarsByName('email@gmail.com')[0].getEvents(startDate,endDate);
会自行返回日历,因此您可以改用日历。