Google Takvim’deki tüm Takvimi değil, aynı anda birçok tarihte tüm etkinlikler nasıl silinir?


22

Google Takvim’deki tüm Takvimi değil, aynı anda birçok tarihte tüm etkinlikler nasıl silinir? Faremi silmek ve o tarihten 2 gün sonra sürüklemek için bir etkinlik içeren bir tarihi tıklamaya çalıştım, ancak daha sonra her zaman "Etkinlik oluştur" u görüyorum. Tüm bu olayları silmek için backspaceveya tuşuna basabileceğimi düşündüm delete.

Şu ana kadar ne yaptım = etkinliği tek tek silmek :(


Bunu yapmana izin verecek hiçbir şey yok. Takvim için bir API varsa, birinin bunu yapması için bir uygulama oluşturması mümkün olabilir, ancak hiçbirini bilmiyorum.
ale

Yanıtlar:


25

Bunu, böyle bir Google Komut Dosyası ile yapabildim. Bunu silmek istediğiniz günleri vb. Tam olarak belirlemek için değiştirebilirsiniz.

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

Buna nereye giriyorsun?
tam

4
Google Script’lerde yeni bir komut dosyası oluşturun ve bunu içine yapıştırın. calendarNameTakvim ile ilişkilendirilmiş e-posta (GMail) adresini değiştirin.
Emaad Ahmed Manzoor

2
CalendarName değişkeni için, benim tam tam gmail adresimi kullanmadığım sürece benim MAIN takvimim için çalışmadı . Bu takvim adını Google Takvimimin sol tarafında görüntülerken, ilk adım ve soyadım olarak görüldü, ancak calendarName değişkenim için işe yaramadı. Alt hesap takvimlerim için, takvimlerin sol tarafında gösterilen takvim adı işe yaradı. Yanlış takvim adını kullandığımda aşağıdaki hata iletisini alırdım; bu nedenle TypeError iletisini görürseniz: undefined öğesinin "getEvents" yöntemini çağıramazsınız.
Kurt

1
(yukarıdaki bir cevaba göre yorum yapıldı. Bu bilginin yararlı olabileceğini düşündüm, bu yüzden
sakladım

8

Bazı olayları aramak istiyorsanız, bu betiği değerli hale getirebilecek bir değişiklik buldum. Bilerek veya ithal edilmediğini. Diyelim ki çok sayıda giriş isminde Döngü 1 Kontrol Noktası 10 ve ardından bir numara veya her neyse. "Döngü 1 Kontrol Noktası 10", "Döngü 1 Kontrol Noktası 20" nin bulunabileceğini, ancak "Döngü1 Kontrol Noktası 10" 'un bulunmadığını unutmayın.

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

Bu, yukarıdaki betiği genişletir.
Yıllarca süren bir

3

Önceki bir takvim sisteminden Google Apps’e geçtikten sonra, yinelenen tüm etkinlikler ayrı ayrı içe aktarıldı. Https://script.google.com adresinde yeni bir Google Script oluşturdum ve etkinliklerin yalnızca bazılarını kaldırmak için değiştirdim (yinelenen yeni bir etkinlik zaten başka bir adla yapıldı).

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

Bulduğum en iyi şey, Appgenixsoftware tarafından mobil uygulamasından İş Takvimi Pro toplu silme işlevini kullanarak.


2

Http://www.gcaltoolkit.com adresinde ücretsiz bir API istemcisi var . 1000 giriş için ücretsiz olan ve Windows ve Mac için ücretsiz olan indirilebilir sürümleri olan bir ağ sürümüne sahiptir. Denedim ve hızlı bir şekilde çalıştı.

Tarihe göre veya arama terimlerine göre seçim yapabilirsiniz ve bu daha da manuel olarak değiştirebilirsiniz. Veya sadece silmek istediklerinizi tıklayın. Karar verdikten sonra, değişikliklerinizi Google Takvim’e geri döndürmek için bir düğme var.

Birkaç dakika önce aynı problemi yaşadığımda ve burada olmadığını görmek beni çok şaşırttı.


-2

Bir takvimdeki tüm etkinlikleri silmek istiyorsanız, takvim ayarlarına gidip tüm takvimi silebilirsiniz.

Ana takviminiz, tüm girişlerini siler ve başka bir takvimse, tüm takvimi siler, bu nedenle yeni bir tane oluşturmanız gerekir.


2
bütün takvim değil. sadece 3 buluşma.
Arie,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.