¿Cómo eliminar todos los eventos en muchas fechas a la vez pero no todo el Calendario en Google Calendar?

22

¿Cómo eliminar todos los eventos en muchas fechas a la vez pero no todo el Calendario en Google Calendar? Traté de hacer clic en una fecha que tenía un evento para eliminar y arrastré mi mouse hasta 2 días después de esa fecha, pero siempre veo "crear un evento". Pensé que podría presionar backspaceo deleteeliminar todos esos eventos.

Lo que hice hasta ahora = eliminar el evento uno por uno :(

Arie
fuente
No hay nada incorporado que te permita hacer esto. Si hay una API para el calendario, es posible que alguien pueda crear una aplicación para hacer esto, pero no conozco ninguna.
cerveza el

Respuestas:

25

He podido hacer esto con un Google Script como este. Puede modificar esto para determinar los días que desea eliminar, etc.

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
fuente
¿Dónde entras esto?
justintime
44
Cree una nueva secuencia de comandos en Google Scripts y péguela. Cambie calendarNamela dirección de correo electrónico (GMail) asociada al calendario.
Emaad Ahmed Manzoor
2
Para la variable calendarName, la mía no funcionó para mi calendario PRINCIPAL a menos que usara mi dirección de Gmail completa real. Al ver este nombre de calendario en el lado izquierdo de mi Google Calendar, solo apareció como mi nombre y apellido, pero eso no funcionó para mi variable calendarName. Para mis calendarios de subcuenta, el nombre del calendario que se muestra en el lado izquierdo de los calendarios funcionó bien. Recibía el siguiente mensaje de error cuando usaba un nombre de calendario incorrecto, así que si ve el mensaje TypeError: No se puede llamar al método "getEvents" de undefined.
Kurt
1
(lo anterior fue editado de una respuesta convertida en un comentario. Pensé que esta información podría ser útil, así que la
conservé
8

Encontré una modificación que puede hacer que este script valga la pena si desea buscar ciertos eventos. Que intencionalmente o no importaste. Digamos que muchas entradas tienen el Ciclo 1 Punto de control 10 en el nombre seguido de un número o lo que sea. Tenga en cuenta que se encontrará "Ciclo 1 Punto de verificación 10", "Ciclo 1 Punto de verificación 20" pero "Ciclo1 Punto de verificación 10" no ...

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
fuente
Esto extiende el script anterior. Me permitió eliminar un plan de estudios de todo el año en minutos, gracias
Daniel Filatov
3

Después de migrar de un sistema de calendario anterior a Google Apps, todos los eventos recurrentes se importaron individualmente. Creé un nuevo Google Script en https://script.google.com y lo modifiqué para eliminar solo algunos de los eventos (ya se realizó un nuevo evento recurrente con otro nombre).

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
fuente
2

Lo mejor que he encontrado es usar la función de eliminación masiva de la aplicación móvil, Business Calendar Pro de Appgenixsoftware.

Strizzle
fuente
2

Hay un cliente API gratuito en http://www.gcaltoolkit.com . Tiene una versión de red que es gratuita para 1000 entradas y versiones descargables para Windows y Mac que también pueden ser gratuitas. Lo probé y funcionó rápidamente para mí.

Puede seleccionar por fecha o por términos de búsqueda y parece que puede modificarlo manualmente. O simplemente haga clic en los que desea eliminar. Después de decidir, hay un botón para confirmar los cambios en Google Calendar.

Me pareció muy útil cuando tuve el mismo problema hace unos minutos y me sorprendió ver que no estaba aquí.

Paul
fuente
-2

Si desea eliminar todos los eventos en un calendario, puede ir a la configuración del calendario y eliminar todo el calendario.

Si es su calendario principal, eliminará todas sus entradas, y si es otro calendario, eliminará todo el calendario, por lo tanto, tendrá que crear uno nuevo.

Greg
fuente
2
No todo el calendario. Solo 3 fechas.
Arie