Googleカレンダーの予定の繰り返しのどれか一つを削除するには
この記事の中身的な話です!端的にコードを紹介してるので上の記事からスプシをコピーしてGASを見ていただけると分かりやすいです。
GoogleカレンダーとGASを連携してカレンダーを操作するのは便利ですが、予定を削除する時に.deleteEvent()を使うと繰り返す予定の全てを削除してしまいます。
なのでevent.isrecurringevent()で対象イベントが繰り返しかどうかで条件分岐させます。
for (let i = 0;i < events.length;i++){
const event = events[i];
if(event.isrecurringevent() == true){
// 繰り返し予定のための処理
}else{
// ただの単発予定だから消す
event.deleteEvent();
}
}
そして、繰り返し予定の削除にはどうすればよいかといったところで、
繰り返しのルールを追加するメソッドを足します。
// 繰り返し予定のための処理
const thetime = event.getStartTime();
const id = event.getId();
const original = CalendarApp.getEventId(id);
const series = CalendarApp.getEventSeries(id);
const Starttime = original.getStarttime();
const Endtime = original.getEndtime();
const recurrence = CalendarApp.newRecurrence().addDateExclusion(thetime);
series.setRecurrence(recurrence,Starttime,Endtime);
}else{
// 単発〜
これの注意点として、''毎〇〇に予定がある''かつ''この日にはない''という少し複雑なルールにしているので、カレンダーのスマホアプリから読めません。なので例えば木金から月木金にあとからしたくなったら自分でrecurrenceをsetするか普通に手動で予定入力してください