2

Mogsdad's answer to a sort-a-similar question hereを見ましたが、それは私の問題に非常に固有のものではありません。Calendar クラスとそのサブクラスのドキュメントも参照しましたが、単一のイベントをカレンダー X からカレンダー Yにコピーするためのメソッド (私の意見では実装する必要があります。保留中の機能要求があります) はありません。

私がやりたいことは次のとおりです。

  1. 移動するカレンダー イベントの ID をどこかに保存します。
  2. イベント Z が完了したら (時間ベースではなく、外部基準)、関数にカレンダー イベント ID を指定します。
  3. この関数は、イベント 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 プロトタイプには機能がありません。これを行う簡単な方法はありますか?

4

1 に答える 1