Mogsdad's answer to a sort-a-similar question hereを見ましたが、それは私の問題に非常に固有のものではありません。Calendar クラスとそのサブクラスのドキュメントも参照しましたが、単一のイベントをカレンダー X からカレンダー Yにコピーするためのメソッド (私の意見では実装する必要があります。保留中の機能要求があります) はありません。
私がやりたいことは次のとおりです。
- 移動するカレンダー イベントの 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)
Calendar プロトタイプには機能がありません。これを行う簡単な方法はありますか?