gcalcli 소개, 간단한 사용법 (다중 삭제 포함).

2016년, 이글루스에 같은 내용의 글을 썼었다.
다시 간단히 정리한다.

예전 글에는 Thunderbird 에 대한 언급도 있으나, 여기선 gcalcli 만 정리하기로 한다. Thunderbird 가 막강해져서 내가 원하는 기능이 잘 될런지는 모르겠지만.. 그거 알아보기도 귀찮고, 1년에 한두번 쓸까말까한 기능인지라, gcalcli 가 훨씬 편하다. (그만큼 내가 cli 에 익숙해져있다는 방증도 되겠지.)


Github 에 그다지 자세한 설명은 되어 있지 않다. 내가 예전 글에 써놓은 내용은 어디서 알아낸 건지 궁금해진다.

설치 : pip 이용.

apt 로도 설치는 된다. 그러나 예전 판이니, 최신판을 설치하는 게 낫겠다.

최신판 python3 용 pip 이 설치되어 있다는 가정 하에, 다음 명령으로 설치가 가능하다.

python3 -m pip install --user gcalcli

# 오류가 발생한다면, 다음 두가지를 더 설치한다.

python3 -m pip install setuptools --upgrade --user
python3 -m pip install vobject --user

** 인증 오류 해결

gcalcli v4.2.0 현재, 구글 인증 오류가 발생한다.
Github Info 에 있는대로 따라하면 되는데.. 그다지 친절하게 설명이 되어 있진 않다.

  • 먼저, Google developer console 로 이동한 뒤, ‘API 및 서비스 사용 설정’을 선택한다.
  • Google Calendar API 를 검색한 뒤 선택하고, ‘사용 설정’을 누른다.
  • 왼쪽 메뉴 막대에서, ‘사용자 인증 정보’를 택하고, 중앙 위쪽의 ‘사용자 인증 정보 만들기’를 택한 뒤 ‘OAuth 클라이언트 ID’ 를 클릭한다.
  • 애플리케이션 유형은 ‘데스크톱 앱’, 이름은 적절히.

이러면 클라이언트 ID 와 클라이언트 보안 비밀번호가 생성되는데, 이것을 복사한다.
그리고, 다음 명령을 실행한다.

gcalcli --client-id=xxxx.apps.googleusercontent.com --client-secret=XXXX calw

이러면 웹브라우저에 인증 창이 뜨게 되고, 비번을 넣고 진행하면 인증작업이 완료된다.
작업이 끝나면, ~/.gcalcli_oauth 파일이 생성되는데, 이 파일을 보관하면, OS 를 재설치해도 재인증없이 쓸 수 있지 않을까… 하는 생각은 있으나, 확신은 없다.

명령 정리:

다음은 간단한 명령 정리. 이 글에서 말하고자 한 것은 ‘여러 항목 삭제’였으므로 그것에 중점을 둔다.

gcalcli list

구글 캘린더에 있는 모든 캘린더 목록을 출력한다.

gcalcli --calendar "기억할 날들.." search 우분투

이 명령은, 내 캘린더 중 ‘기억할 날들..’이라는 제목이 붙은 캘린더에서 ‘우분투’라는 단어가 들어간 모든 항목을 찾아 출력한다. 일정 제목과 장소, 설명 필드 모두를 뒤져서(?) 결과를 보여준다. (굉장히 강력하다. ^^)
따옴표는 어절 구분이 없을 경우는 붙이지 않아도 된다. 즉, ‘기억할날들’ 이라면 그냥 따옴표없이 써도 된다.

gcalcli --calendar "기억할 날들.." delete 우분투

내 캘린더 중 ‘기억할 날들..’이라는 제목이 붙은 캘린더에서 ‘우분투’라는 단어가 들어간 모든 항목을 찾고, 항목이 있으면 하나씩, 지울 지를 물어본다. Yes, No, Quit 을 선택할 수 있다.
항목이 여러 개이고, 지울 것이 확실하다면 저렇게 일일이((interactively) 대답해야 하는 것이 번거로울 수 있다.
이럴 땐, ‘나는 전문가야’를 덧붙인다.

gcalcli --calendar "기억할 날들.." delete --iamaexpert 우분투

주의할 것은, iamanexpert(I am an expert) 가 아니고 imaexpert(I am a expert)임을 명심해야 한다. (일부러 이렇게 썼을까?)

** Help?
gcalcli 의 명령(command)에 대한 설명을 보고 싶다면, 명령 뒤에 –help 를 붙인다.

gcalcli delete --help
gcalcli list --help
...

만약, 특정 기간(시간)에 해당하는 일정만 찾거나 지우기를 원하면, 구간을 설정해주면 된다.

gcalcli --calendar "기억할 날들.." search 우분투 '2019-09-01' '2019-11-15'

** 19-09-16 등은 안된다.

시간까지 명시하려면,

gcalcli --calendar "기억할 날들.." search 우분투 '2016-09-01T13:00' '2016-10-07T08:00'

특정일에, 시간대만 정해주고 찾으려면 시작일과 종료일을 같게 설정해주고 시간을 달리 입력하면 된다.

gcalcli --calendar "기억할 날들.." search 우분투 '2016-09-01T13:00-19:00'

이렇게 입력하면 그냥 2016년 9월 1일 오후 1시부터 시작하는 일정을 찾는다. 뒤에 있는 오후 7시는 무시된다.

이 정도면 원하는 작업은 다~~ 할 수 있을 것 같다.
혹시나 실수로 몽땅 삭제했다면, 구글 캘린더(웹)의 ‘휴지통’에서 원상 복구할 수 있다.
구글 캘린더 오른쪽 위 부분의 기어 모양 아이콘을 클릭하면, 설정, 휴지통등이 나온다. 여기서 휴지통을 클릭하고, 지워진 일정을 복원할 수 있다.

다행히도, 복원은 다중 처리가 가능하다.

Tags:,
One Comment

안녕하세요. 글 남겨주셔서 고맙습니다.