当我手动创建日历事件时,可以为事件赋予特殊颜色。如何使用脚本访问/更改此颜色?搜索了所有文档,但仅在日历级别找到颜色,而不是在事件级别。
问问题
2817 次
3 回答
1
“colorId”是事件资源的字符串属性。
https://developers.google.com/google-apps/calendar/v3/reference/events#resource
于 2013-12-16T07:57:35.437 回答
1
新的高级日历服务允许您现在执行此操作。查看“创建事件”标题下的示例代码:
https://developers.google.com/apps-script/advanced/calendar
如果更改帮助页面,我会将其粘贴在下面:
function createEvent() {
var calendarId = 'primary';
var start = getRelativeDate(1, 12);
var end = getRelativeDate(1, 13);
var event = {
summary: 'Lunch Meeting',
location: 'The Deli',
description: 'To discuss our plans for the presentation next week.',
start: {
dateTime: start.toISOString()
},
end: {
dateTime: end.toISOString()
},
attendees: [
{email: 'alice@example.com'},
{email: 'bob@example.com'}
],
// Red background. Use Calendar.Colors.get() for the full list.
colorId: 11
};
event = Calendar.Events.insert(event, calendarId);
Logger.log('Event ID: ' + event.getId());
}
/**
* Helper function to get a new Date object relative to the current date.
* @param {number} daysOffset The number of days in the future for the new date.
* @param {number} hour The hour of the day for the new date, in the time zone
* of the script.
* @return {Date} The new date.
*/
function getRelativeDate(daysOffset, hour) {
var date = new Date();
date.setDate(date.getDate() + daysOffset);
date.setHours(hour);
date.setMinutes(0);
date.setSeconds(0);
date.setMilliseconds(0);
return date;
}
于 2015-12-21T17:50:56.027 回答
0
另一个答案是指您最终可以访问的日历 API,但它不是 GAS 中可用的标准日历方法的一部分。
您可以通过使用由 Romain Vialard(gas top 贡献者)开发的库来简化您的生活,该库可在他的网站上以及我编写的广泛使用它的应用程序中找到
编辑:在我不久前提出的问题跟踪器上也有一个增强请求,请随时为它加注星标。
于 2013-12-16T09:19:43.673 回答