【发布时间】:2013-08-05 19:31:58
【问题描述】:
我查看了 Mogsdad 的 对类似问题 here 的回答,但它并不是特别针对我的问题。我还查看了documentation for the Calendar class and its subclasses,但没有将单个事件从日历X复制到日历的方法(在我看来应该实现;有一个待处理的feature request)是的。
我想做的如下:
- 将要移动的日历事件的 ID 存储在某处。
- 当事件 Z 完成时(外部条件,不基于时间),为函数提供日历事件 ID。
- 该函数会将事件 Z 从日历 X 移动到日历 Y。
我能想到的唯一方法就是草率(以下是半伪):
// y is Calendar Y, z is the ID of Event Z
function moveToNewCalendar(y, z) {
var eventToMove = getEventByID(z);
// eventDetails is an Object
var eventDetails = getAllEventDetails(eventToMove); // This is not fun!
y.createEvent(eventDetails);
eventToMove.deleteEvent();
}
function getAllEventDetails(e) {
var details = {};
details["title"] = e.getTitle();
details["startTime"] = e.getStartTime();
// ... etc
return details;
}
function createEvent(eventDetails) {
// Create event using the information pulled from eventDetails
}
此功能可通过Google Calendar API v3 - move 函数使用,但不能通过 GAS。
我认为主要问题是复制事件的详细信息。日历原型中没有createEvent(Event e) 的功能。有没有我只是想念的更简单的方法?
【问题讨论】:
-
好问题...如果您编写代码来获取/设置所有事件属性(因为恐怕这将是完成它的唯一方法:-/)在这里分享!!
-
好吧,如果这是在开发人员实现自己的功能之前最好的方法,那么我会继续努力的!完成后,我会用代码更新这个问题作为答案。
标签: google-apps-script google-calendar-api