Wie lösche ich alle Termine an mehreren Terminen gleichzeitig, aber nicht den gesamten Kalender in Google Kalender?

22

Wie lösche ich alle Termine an mehreren Terminen gleichzeitig, aber nicht den gesamten Kalender in Google Kalender? Ich habe versucht, auf ein Datum zu klicken, für das ein Ereignis gelöscht werden soll, und meine Maus 2 Tage nach diesem Datum gezogen, aber dann wird immer "Ereignis erstellen" angezeigt. Ich dachte, ich könnte auf backspaceoder drücken delete, um alle diese Ereignisse zu löschen.

Was ich bisher gemacht habe = Löschen eines Ereignisses nach dem anderen :(

Arie
quelle
Es ist nichts eingebaut, was Sie dazu bringen würde. Wenn es eine API für den Kalender gibt, kann möglicherweise jemand eine App dafür erstellen, aber ich kenne keine.
Ale

Antworten:

25

Ich konnte dies mit einem Google Script wie diesem tun. Sie können dies ändern, um die Tage zu bestimmen, die Sie löschen möchten usw.

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();
    }
 }
Glen Little
quelle
Wo trägst du das ein?
justintime
4
Erstellen Sie ein neues Skript bei Google Scripts und fügen Sie dieses ein. Ändern Sie calendarNamedie E-Mail-Adresse (GMail), die dem Kalender zugeordnet ist.
Emaad Ahmed Manzoor
2
Für die Variable calendarName funktionierte meine nicht für meinen Hauptkalender, es sei denn, ich habe meine tatsächliche vollständige Google Mail-Adresse verwendet. Beim Anzeigen dieses Kalendernamens auf der linken Seite meines Google Kalenders wurde er nur als Vor- und Nachname angezeigt, was jedoch für meine Variable calendarName nicht funktionierte. Bei meinen Unterkontokalendern hat der Kalendername, der links neben den Kalendern angezeigt wird, einwandfrei funktioniert. Wenn ich den falschen Kalendernamen verwendet habe, wird die folgende Fehlermeldung angezeigt: TypeError: Die Methode "getEvents" von undefined kann nicht aufgerufen werden.
Kurt
1
(Das oben
Gesagte
8

Ich habe eine Modifikation gefunden, mit der sich dieses Skript lohnen kann, wenn Sie nach bestimmten Ereignissen suchen möchten. Das hast du absichtlich oder gar nicht importiert. Nehmen wir an, viele Einträge enthalten den Prüfpunkt 10 von Zyklus 1 im Namen, gefolgt von einer Zahl oder was auch immer. Beachten Sie, dass "Cycle 1 Checkpoint 10", "Cycle 1 Checkpoint 20" gefunden werden, "Cycle1 Checkpoint 10" jedoch nicht.

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 !
  }
}
Guy Forssman
quelle
Dies erweitert das obige Skript. Erlaubt mir, ein ganzes Jahr Lehrplan in Minuten zu löschen, danke
Daniel Filatov
3

Nach der Migration von einem früheren Kalendersystem zu Google Apps wurden alle wiederkehrenden Ereignisse einzeln importiert. Ich habe unter https://script.google.com ein neues Google-Skript erstellt und es geändert, um nur einige der Ereignisse zu entfernen (ein neues wiederkehrendes Ereignis wurde bereits mit einem anderen Namen erstellt).

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 !
    }
  }
}
DaveG
quelle
2

Das Beste, was ich gefunden habe, ist die Verwendung der Massenlöschfunktion in der mobilen App Business Calendar Pro von Appgenixsoftware.

Nieselregen
quelle
2

Es gibt einen kostenlosen API-Client unter http://www.gcaltoolkit.com . Es hat eine Netzwerkversion, die für 1000 Einträge kostenlos ist, und downloadbare Versionen für Windows und Mac, die ebenfalls kostenlos sein können. Ich habe es versucht und es hat schnell bei mir funktioniert.

Sie können nach Datum oder nach Suchbegriffen auswählen und es sieht so aus, als ob Sie dies manuell weiter ändern können. Oder klicken Sie einfach auf diejenigen, die Sie löschen möchten. Nachdem Sie sich entschieden haben, gibt es eine Schaltfläche, mit der Sie Ihre Änderungen wieder in Google Kalender übernehmen können.

Ich fand das sehr hilfreich, als ich vor ein paar Minuten das gleiche Problem hatte und war überrascht zu sehen, dass es hier nicht auftrat.

Paul
quelle
-2

Wenn Sie alle Termine in einem Kalender löschen möchten, können Sie die Kalendereinstellungen aufrufen und den gesamten Kalender löschen.

Wenn es sich um Ihren Hauptkalender handelt, werden alle Einträge gelöscht. Wenn es sich um einen anderen Kalender handelt, wird der gesamte Kalender gelöscht. Daher müssen Sie einen neuen Kalender erstellen.

Greg
quelle
2
nicht der ganze kalender. nur 3 termine.
Arie