Come eliminare tutti gli eventi in più date contemporaneamente ma non l'intero calendario in Google Calendar?


22

Come eliminare tutti gli eventi in più date contemporaneamente ma non l'intero calendario in Google Calendar? Ho provato a fare clic su una data che ha ottenuto un evento da eliminare e ho trascinato il mouse su 2 giorni dopo quella data, ma poi vedo sempre "creare un evento". Pensavo di poter premere backspaceo deleteper eliminare tutti quegli eventi.

Quello che ho fatto finora = eliminare l'evento uno per uno :(


Non c'è niente incorporato che ti permetta di farlo. Se esiste un'API per il calendario, potrebbe essere possibile per qualcuno creare un'app per farlo, ma non ne conosco nessuno.
Ale

Risposte:


25

Sono stato in grado di farlo con uno script di Google come questo. Puoi modificarlo per individuare i giorni che desideri eliminare, ecc.

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();
    }
 }

Dove lo inserisci?
justintime

4
Crea un nuovo script in Google Scripts e incollalo. Cambia calendarNamel'indirizzo e-mail (GMail) associato al calendario.
Emaad Ahmed Manzoor,

2
Per la variabile calendarName, il mio non funzionava per il mio calendario MAIN a meno che non avessi usato il mio vero indirizzo Gmail completo. Durante la visualizzazione di questo nome di calendario sul lato sinistro di Google Calendar, veniva visualizzato solo come nome e cognome, ma non funzionava per la mia variabile calendarName. Per i calendari del mio account secondario, il nome del calendario mostrato sul lato sinistro dei calendari ha funzionato bene. Vorrei ricevere il seguente messaggio di errore quando ho utilizzato il nome di calendario errato, quindi se viene visualizzato il messaggio TypeError: Impossibile chiamare il metodo "getEvents" di non definito.
Kurt,

1
(
Quanto

8

Ho trovato una modifica che può rendere utile questo script se vuoi cercare determinati eventi. Che hai importato intenzionalmente o meno. Diciamo che molte voci hanno il ciclo 1 Checkpoint 10 nel nome seguito da un numero o altro. Si noti che "Cycle 1 Checkpoint 10", "Cycle 1 Checkpoint 20" verrà trovato ma "Cycle1 Checkpoint 10" non ..

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 !
  }
}

Questo estende lo script sopra. Mi ha permesso di cancellare un curriculum di un anno intero in pochi minuti, grazie
Daniel Filatov,

3

Dopo la migrazione da un precedente sistema di calendario a Google Apps, tutti gli eventi ricorrenti sono stati importati singolarmente. Ho creato un nuovo script di Google all'indirizzo https://script.google.com e l'ho modificato per rimuovere solo alcuni degli eventi (un nuovo evento ricorrente era già stato creato con un altro nome).

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 !
    }
  }
}

2

La cosa migliore che ho trovato è usare la funzione di eliminazione di massa dall'app mobile, Business Calendar Pro di Appgenixsoftware.


2

C'è un client API gratuito su http://www.gcaltoolkit.com . Ha una versione di rete gratuita per 1000 voci e versioni scaricabili per Windows e Mac che possono essere gratuite. L'ho provato e ha funzionato rapidamente per me.

È possibile selezionare per data o per termini di ricerca e sembra che sia possibile modificarlo ulteriormente manualmente. Oppure fai clic su quelli che desideri eliminare. Dopo aver deciso, c'è un pulsante per ripristinare le modifiche su Google Calendar.

L'ho trovato molto utile quando ho avuto lo stesso problema qualche minuto fa e sono stato sorpreso di vedere che non era qui.


-2

Se si desidera eliminare tutti gli eventi in un calendario, è possibile accedere alle impostazioni del calendario ed eliminare l'intero calendario.

Se è il tuo calendario principale, eliminerà tutte le sue voci e se è un altro calendario eliminerà l'intero calendario, quindi dovrai crearne uno nuovo.


2
non l'intero calendario. solo 3 date.
Arie,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.