Como excluir todos os eventos em várias datas de uma só vez, mas não todo o calendário no Google Agenda?

22

Como excluir todos os eventos em várias datas de uma só vez, mas não todo o calendário no Google Agenda? Tentei clicar em uma data em que um evento foi excluído e arrastei o mouse para 2 dias após essa data, mas sempre vejo "criar um evento". Eu pensei que poderia pressionar backspaceou deletepara excluir todos esses eventos.

O que eu fiz até agora = excluir o evento um por um :(

Arie
fonte
Não há nada embutido que permita fazer isso. Se houver uma API para o calendário, pode ser possível que alguém crie um aplicativo para fazer isso, mas não conheço nenhuma.
ale

Respostas:

25

Consegui fazer isso com um script do Google como este. Você pode alterar isso para identificar os dias que deseja excluir 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
fonte
Onde você entra?
justintime
4
Crie um novo script no Google Scripts e cole-o. Altere calendarNamepara o endereço de email (GMail) associado ao calendário.
Emaad Ahmed Manzoor
2
Para a variável calendarName, o meu não funcionava no meu calendário PRINCIPAL , a menos que eu usasse meu endereço completo do Gmail. Ao visualizar este nome de calendário no lado esquerdo do meu Google Agenda, ele apareceu como meu nome e sobrenome, mas isso não funcionou para a minha variável calendarName. Para meus calendários de subconta, o nome do calendário mostrado no lado esquerdo dos calendários funcionou bem. Eu recebia a seguinte mensagem de erro quando usava o nome do calendário errado, portanto, se você vir a mensagem TypeError: Não é possível chamar o método "getEvents" de indefinido.
Kurt
1
(o acima foi editado a partir de uma resposta se transformou em um comentário que eu pensei que esta informação pode ser útil, então eu preservado.)
jonsca
8

Eu encontrei uma modificação que pode fazer esse script valer a pena se você quiser procurar determinados eventos. Que você intencionalmente ou não importou. Digamos que muitas entradas tenham o Ciclo 1 do Ponto de Verificação 10 no nome, seguido por um número ou qualquer outra coisa. Esteja ciente de que "Ciclo 1 do ponto de verificação 10", "Ciclo 1 do ponto de verificação 20" serão encontrados, mas "Ciclo 1 do ponto de verificação 10" não ..

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
fonte
Isso estende o script acima. Permitiu-me excluir um currículo do ano inteiro em minutos, obrigado
Daniel Filatov
3

Após a migração de um sistema de calendário anterior para o Google Apps, todos os eventos recorrentes foram importados individualmente. Criei um novo Script do Google em https://script.google.com e o modifiquei para remover apenas alguns dos eventos (um novo evento recorrente já foi realizado com outro 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 !
    }
  }
}
DaveG
fonte
2

A melhor coisa que encontrei foi usar a função de exclusão em massa do aplicativo móvel, Business Calendar Pro da Appgenixsoftware.

Strizzle
fonte
2

Há um cliente de API gratuito em http://www.gcaltoolkit.com . Possui uma versão de rede gratuita para 1000 entradas e versões para download para Windows e Mac que também podem ser gratuitas. Eu tentei e funcionou rapidamente para mim.

Você pode selecionar por data ou por termos de pesquisa e parece que você pode modificá-lo manualmente ainda mais. Ou apenas clique nos que você deseja excluir. Depois de decidir, há um botão para confirmar suas alterações no Google Agenda.

Achei isso muito útil quando tive o mesmo problema há alguns minutos e fiquei surpreso ao ver que não estava aqui.

Paulo
fonte
-2

Se você deseja excluir todos os eventos em um calendário, acesse as configurações do calendário e exclua o calendário inteiro.

Se for o seu calendário principal, ele excluirá todas as entradas e, se for outro calendário, o calendário inteiro será excluído. Portanto, você precisará criar um novo.

Greg
fonte
2
nem todo o calendário. apenas 3 datas.
Arie