업무자동화

구글컬린더와 노션 동기화를 통한 업무자동화 사례

웍투오토(work2auto) 2024. 10. 26. 10:24

업무 자동화

Google Calendar 와 노션(Notion)을 동시에 쓰시는 경우 두 프로그램간의 동기화를 통해 일정관리업무를 자동화하는 과정을 배워보고자 합니다. 이를 하기 위한 가장 편리하고 쉬운 개발도구와 그 이용방법을 소개합니다. 전문가가 아닌 일반인도 이용할수 있는 정도의 개발도구로서 Google Apps Script(이하 GAS)를 이용하여 개발 하고자 합니다.

 

1. 통합개발플랫폼 Google Apps Script 이해

1.1 공식 사이트의 정의

공식사이트에 가면 아래와 같은 정의가 있습니다.

  • 구글제품을 이용하여 가장 간편하고 빠른 업무자동화 개발 플랫폼이라고 할 수 있습니다.
  • Apps Script는 구글제품들을 활용해 업무자동화를 하기 위한 클라우드 기반의 자바스크립트 개발 플랫폼으로 정의할 수 있습니다.

 

⇨ 주요 특징

  • 쉬운 Automation App 개발
  • 별도 dev tool 불필요
  • Google Drive 및 Chrome Web Store를 통한 코드 관리 및 배포

 

1.2 Account 생성

우선 구글 계정이 필요합니다. 프로그램 소스가 Google Drive에 저장됩니다.

 

2. 프로그램 작성을 위한 기초지식 습득 및 연습

자, 이제 코딩세계로 본격적으로 들어가기 전에 우리가 무엇을 하고자 하는지 되새겨 보자.

 [우리가 프로그램에서 해야할 일]

 

우선 우리에게 필요한 것은 구글 캘린더를 읽고 쓰고 수정하는 것이다.

이것을 하기 위해 우리가 먼저 준비해야 할 것은 구글캘린더 서비스 구성을 이해하고 구글캘린더를 우리 프로그램에 이용하기 위한 환경을 만들어야 한다. 다시 말해 개발환경을 마련해야 한다.

 

[프로그래밍 순서]

 

2.1 Google Calendar 이해

-캘린더에서 사용되는 데이터 : Calendar List / Calendar / Event

 

[Google Calendar의 정보구조]

Calendar List는 복수개의 캘린더를 관리할 수 있다는 의미이다. 구글 캘린더의 경우 한 계정에 여러개의 캘린더를 만들어 이용할 수 있도록 구성되어 있다. 예를 들어 회사원인 경우 팀캘린더, 동호회 캘린더,개인캘린더를 각각 구성하여 이용할 수 있다. 즉 동기화 프로그램에서 모든 캘린더에 적용하거나 특정 캘린더 예를들어 동호회 캘린더에만 적용하는 구성으로 구성할 수 있다.

 

-Event 종류

단일 이벤트(Single Event)와 반복 이벤트(Recurring Event)를 구분하여 구성할 수 있다. 단일 이벤트의 경우는 예를 들어 내일 2시 치과약속이 잡힌 경우가 단일 이벤트이며 만약 매월 15일에 치과를 1년동안 교정을 위해 다닌다면 반복이벤트를 선택하여 저장하고 캘린더에 표시할 수 있다.

-권한 이해와 활용

권한은 두가지로 이야기할 수 있다. 캘린더를 사용하려고 하는 사람이 1)정당한 권한을 가진 이용자인지 판단하여야 하며, 또한 2)캘린더 공유시 정당한 공유그룹에 속한 사람인지를 판단하여야 한다. 이를 위해 구글 캘린더는  접근제어리스트(ACL, Access Control List)기능을 제공한다. 이는 캘린더 설정 기능을 통해 자세히 알아볼 예정이다.

위에 언급한 Google Calendar 서비스를 우리가 작성할 프로그램에서는 API라는 형태를 통해서 접근하고 사용할 수 있다.




 ⇨ API 활용에 대한 시각과 그 접근법

더보기
  • 수많은 소프트웨어 회사들이 다양한 API(Application Programming Interface)를 우리에게 제공한다. 이중에서 우리에게 현 프로젝트에서 필요한 것을 위주로 알아보자. 
  • 여러분들은 애자일 개발(Agile Development)라는 용어를 들어 보셨을 것으로 생각됩니다. 개발할 내용과 그에 요구되는 시간을 스프린트(Sprint)라는 단위로 분리하여 개발하고 테스트하는 것을 통해 전체 요구사항을 모두 개발할 때까지 신속하게 반복하는 개발 방법론이라고 설명할 수 있겠다. 그러므로 현시점 개발자 세계에서 요구되는 역량도 애자일 스터디(Agile Study)를 통해 프로젝트를 수행할 수 있는 능력이 요구된다. 즉, 쉽게 말하자면 필요한 내용만 신속히 공부하여 코드를 구현할 수 있어야 한다는 의미다. API학습에서도 필요한 부분만 공부하여 구현하는 것이 가장 합리적이며 추천되는 방법이다. 

우리는 모든 Google Calendar API를 공부할 수 없다는 것이다. 어떠한 개발 프로젝트에서도 이러한 접근 방법으로 API를 활용하는 것에 부담을 가지지 않는 자세가 필요하다고 말씀드리고 싶다.

 

 

개발문의 환영합니다.

Start an Open Chat on KakaoTalk!
Tap the link to get started.

웍투오토] 웹크롤링 & 업무자동화 개발문의
https://open.kakao.com/o/sF2plaVg