回答:
このようなGoogleスクリプトでこれを行うことができました。これを変更して、削除する日などを特定できます。
function delete_events()
{
var fromDate = new Date(2013,0,1,0,0,0);
var toDate = new Date(2013,0,4,0,0,0);
var calendarName = 'My Calendar';
// delete from Jan 1 to end of Jan 4, 2013 (for month 0 = Jan, 1 = Feb...)
var calendar = CalendarApp.getCalendarsByName(calendarName)[0];
var events = calendar.getEvents(fromDate, toDate);
for(var i=0; i<events.length;i++){
var ev = events[i];
Logger.log(ev.getTitle()); // show event name in log
ev.deleteEvent();
}
}
calendarName
ます。カレンダーに関連付けられている電子メール(GMail)アドレスに変更します。
特定のイベントを探したい場合に、このスクリプトを価値のあるものにできる修正を見つけました。意図的またはインポートされていないこと。多くのエントリの名前にサイクル1チェックポイント10があり、その後に数字などが続くとしましょう。「サイクル1チェックポイント10」、「サイクル1チェックポイント20」は見つかりますが、「サイクル1チェックポイント10」は見つかりません。
function delete_events()
{
//take care: Date function starts at 0 for the month (January=0)
//{search: 'cycle'+"*"+'Checkpoint'} hier zijn de search terms
var fromDate = new Date(2014,7,1,0,0,0); //This is August 1, 2014
var toDate = new Date(2016,2,1,0,0,0); //This is March 1, 2016 at 00h00'00"
var calendarName = 'GuyForssman';
var calendar = CalendarApp.getCalendarsByName(calendarName)[0];
var events = calendar.getEvents(fromDate, toDate,{search: 'cycle'+"*"+Checkpoint'+"*"});
for(var i=0; i<events.length;i++)
{
var ev = events[i];
Logger.log('Item '+ev.getTitle()+' found on '+ev.getStartTime()); // show event name and date in log
//ev.deleteEvent(); //uncomment this line to actually do the delete !
}
}
以前のカレンダーシステムからGoogle Appsに移行した後、定期的なイベントはすべて個別にインポートされました。https://script.google.comで新しいGoogle Scriptを作成し、一部のイベントのみを削除するように変更しました(新しい定期的なイベントは別の名前で既に作成されています)。
function delete_events()
{
//take care: Date function starts at 0 for the month (January=0)
var fromDate = new Date(2014,7,1,0,0,0); //This is August 1, 2014
var toDate = new Date(2016,2,1,0,0,0); //This is March 1, 2016 at 00h00'00"
var calendarName = 'your_calendar_name';
var toRemove = 'title_of_the_events';
var calendar = CalendarApp.getCalendarsByName(calendarName)[0];
var events = calendar.getEvents(fromDate, toDate,{search: toRemove});
for(var i=0; i<events.length;i++)
{
var ev = events[i];
if(ev.getTitle()==toRemove) //check if the title matches
{
Logger.log('Item '+ev.getTitle()+' found on '+ev.getStartTime()); // show event name and date in log
//ev.deleteEvent(); //uncomment this line to actually do the delete !
}
}
}
http://www.gcaltoolkit.comに無料のAPIクライアントがあります。1000エントリの無料ネットワークバージョンと、WindowsおよびMacの無料バージョンもダウンロードできます。私はそれを試してみましたが、すぐにうまくいきました。
日付または検索語で選択できますが、さらに手動で変更できるようです。または、削除するものをクリックします。決定したら、変更をGoogleカレンダーにコミットするボタンがあります。
数分前に同じ問題を抱えていたときに、これが非常に役立つことがわかりました。ここにないことがわかりました。