我编写了一个脚本,用于通过表单和电子表格为Google日历创建事件。 创建事件后是否有可能获得事件ID? 想要将其保存在电子表格中,以便我可以根据需要更改或删除该事件...
答案 0 :(得分:0)
通常,您可以通过在getId()
类实例上调用CalendarEvent
方法来访问事件的ID(假设您是通过CalendarApp
服务创建事件的)。另一方面,如果您向Calendar API发送http
请求(例如insert
),则可以生成一个ID,并将其作为请求正文属性id
传递(有三个要求:base32hex编码,5 <= id.length <= 1024,必须是唯一的),并保留其值,但您认为合适。
这是一个非常简单的示例,用于说明第二种方法(该示例假定您已在“ Calendar”名称下的高级服务中启用了Calendar API)
/**
* Test for created event;
* @returns {Object} requested event;
*/
function getEvent() {
var id = 'eventid1';
var event = Calendar.Events.get('primary', id);
Logger.log(event);
return event;
}
/**
* Inserts event (for example simplicity, hardcoded Id);
*/
function insertEvent() {
var id = 'eventid1';
var start = new Date()
start.setHours(21);
var end = new Date()
end.setHours(22);
var tz = 'America/Los_Angeles';
var event = {
start : {
dateTime : start.toISOString(),
timeZone : tz
},
end : {
dateTime : end.toISOString(),
timeZone : tz
},
id : id
};
Calendar.Events.insert(event, 'primary');
}
希望这两种解决方案中的任何一种都会有所帮助,否则,请提供示例代码以创建事件!