Google 캘린더에서 여러 날짜의 모든 이벤트를 한꺼번에 삭제하지만 전체 캘린더를 삭제하는 방법은 무엇입니까?


22

Google 캘린더에서 여러 날짜의 모든 이벤트를 한꺼번에 삭제하지만 전체 캘린더를 삭제하는 방법은 무엇입니까? 이벤트가 발생한 날짜를 클릭하여 삭제하고 마우스를 해당 날짜 이후 2 일로 드래그했지만 항상 "이벤트 생성"이 표시됩니다. 내가 누를 수 있다고 생각 backspace또는 delete모든 이벤트를 삭제합니다.

내가 지금까지 한 일 = 하나씩 이벤트 삭제 :(


이 작업을 수행 할 수있는 내장 기능은 없습니다. 캘린더 용 API가있는 경우 누군가가이를 수행하기 위해 앱을 만들 수는 있지만 아무 것도 모른다.
ale

답변:


25

나는 이와 같은 구글 스크립트로 이것을 할 수 있었다. 삭제하려는 요일 등을 정확하게 나타내도록 변경할 수 있습니다.

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

어디에 입력합니까?
justintime

4
Google 스크립트에서 새 스크립트를 만들어 붙여 넣습니다. calendarName캘린더와 연결된 이메일 (GMail) 주소로 변경하십시오 .
Emaad Ahmed Manzoor 2016

2
calendarName 변수의 경우 실제 전체 Gmail 주소를 사용하지 않으면 내 MAIN 캘린더에서 작동하지 않았습니다 . 내 Google 캘린더 왼쪽에서이 캘린더 이름을 볼 때 이름과 성으로 표시되었지만 calendarName 변수에는 작동하지 않습니다. 내 하위 계정 캘린더의 경우 캘린더 왼쪽에 표시된 캘린더 이름이 제대로 작동했습니다. 잘못된 달력 이름을 사용하면 다음과 같은 오류 메시지가 표시되므로 TypeError : Cannot undefined 메소드 "getEvents"를 호출 할 수 없습니다.
Kurt

1
(위의 답변에서 주석으로 편집되었습니다.이 정보가 유용 할 것이라고 생각했기 때문에 보존했습니다.)
jonsca

8

특정 이벤트를 찾으려면이 스크립트를 가치있게 만들 수있는 수정 사항을 찾았습니다. 의도적으로 가져 오거나 가져 오지 않았습니다. 많은 항목의 이름에 Cycle 1 Checkpoint 10이 있고 그 뒤에 숫자 또는 다른 것이 있습니다. "Cycle 1 Checkpoint 10", "Cycle 1 Checkpoint 20"은 발견되지만 "Cycle1 Checkpoint 10"은 발견되지 않습니다.

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

이것은 위의 스크립트를 확장합니다. 감사합니다
Daniel Filatov

3

이전 캘린더 시스템에서 Google Apps로 마이그레이션 한 후 모든 반복 일정을 개별적으로 가져 왔습니다. https://script.google.com 에서 새 Google 스크립트를 만들고 일부 이벤트 만 제거하도록 수정했습니다 (새로운 되풀이 이벤트는 이미 다른 이름으로 작성 됨).

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

내가 찾은 가장 좋은 것은 모바일 앱, Appgenixsoftware의 Business Calendar Pro에서 대량 삭제 기능을 사용하는 것입니다.


2

http://www.gcaltoolkit.com에 무료 API 클라이언트가 있습니다. 1000 개 항목에 대해 무료로 제공되는 네트워크 버전과 무료로 제공되는 Windows 및 Mac 용 다운로드 버전도 있습니다. 나는 그것을 시도했고 그것은 나를 위해 빨리 일했다.

날짜 또는 검색어별로 선택할 수 있으며 수동으로 추가로 수정할 수있는 것처럼 보입니다. 또는 삭제하려는 것을 클릭하십시오. 결정한 후에는 변경 사항을 Google 캘린더로 다시 커밋 할 수있는 버튼이 있습니다.

나는 몇 분 전에 같은 문제가 있었을 때 이것이 매우 도움이되었고 여기에 있지 않은 것에 놀랐습니다.


-2

캘린더의 모든 이벤트를 삭제하려면 캘린더 설정으로 이동하여 전체 캘린더를 삭제할 수 있습니다.

기본 캘린더 인 경우 모든 항목을 삭제하고 다른 캘린더 인 경우 전체 캘린더를 삭제하므로 새 캘린더를 작성해야합니다.


2
전체 달력이 아닙니다. 단지 3 개의 날짜.
Arie
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.