코딩 수준: 초급
소요 시간: 15분
프로젝트 유형: 이벤트 기반 트리거를 사용한 자동화
목표
- 솔루션의 작동 방식을 이해합니다.
- 솔루션 내에서 Apps Script 서비스가 하는 작업을 이해합니다.
- 스크립트를 설정합니다.
- 스크립트를 실행합니다.
이 솔루션 정보
Google Docs에서 자동으로 회의 일정 문서를 만들어 Google Calendar 회의에 첨부합니다.
작동 방식
이 스크립트는 의제의 문서 템플릿을 만듭니다. 캘린더를 업데이트하면 스크립트가 소유한 일정의 설명에 '#agenda'가 포함되어 있는지 확인합니다. 태그가 있는 경우 스크립트는 템플릿의 사본을 만들어 캘린더 일정에 추가하고 이벤트 참석자와 공유합니다.
Apps Script 서비스
이 솔루션은 다음 서비스를 사용합니다.
- Drive 서비스: 템플릿 문서가 있는지 확인하고, 없는 경우 템플릿 문서의 새 폴더를 만듭니다. 새 안건마다 템플릿 문서의 사본을 만듭니다.
- 문서 서비스: 의제 템플릿을 만듭니다.
- Calendar 서비스: '#agenda' 태그가 있는 일정을 확인하고 일정 설명을 일정 문서 링크로 업데이트합니다.
- 기본 서비스:
Session
클래스를 사용하여 사용자의 이메일을 가져옵니다. 이렇게 하면 현재 사용자의 트리거를 빌드하는 데 도움이 됩니다. - 스크립트 서비스: 사용자의 캘린더에 변경사항이 있을 때마다 실행되는 트리거를 만듭니다.
기본 요건
이 샘플을 사용하려면 다음 기본 요건이 필요합니다.
- Google 계정 (Google Workspace 계정의 경우 관리자 승인이 필요할 수 있음)
- 인터넷에 액세스할 수 있는 웹브라우저
스크립트 설정
- 아래 버튼을 클릭하여 샘플 회의 일정 만들기 Apps Script 프로젝트를 엽니다.
프로젝트 열기 - 개요 를 클릭합니다.
- 개요 페이지에서 '사본 만들기' 를 클릭합니다.
- 복사한 프로젝트의 함수 드롭다운에서 setUp을 선택합니다.
- 실행을 클릭합니다.
- 메시지가 표시되면 스크립트를 승인합니다. OAuth 동의 화면에 이 앱은 확인되지 않았습니다라는 경고가 표시되면 고급 > {프로젝트 이름}으로 이동(안전하지 않음)을 선택하여 계속 진행합니다.
스크립트 실행
- Google 캘린더를 엽니다.
- 새 일정을 만들거나 기존 일정을 수정합니다.
- 설명에
#agenda
를 추가하고 일정을 저장합니다. - 문서가 공유되었다는 이메일 알림을 확인하거나 캘린더를 새로고침하고 일정을 다시 클릭하여 의제 문서 링크를 확인합니다.
모든 참석자에게 의제 보기를 위한 이메일 알림이 전송됩니다. 이 스크립트는 참석자에게 수정 권한을 부여하지만 스크립트를 수정하여 참석자의 의제 문서 권한을 업데이트할 수 있습니다.
코드 검토
이 솔루션의 Apps Script 코드를 검토하려면 아래의 소스 코드 보기를 클릭합니다.
소스 코드 보기
Code.gs
수정사항
필요에 따라 샘플을 수정할 수 있습니다. 다음은 변경할 수 있는 몇 가지 선택사항입니다.
참석자의 의제 문서 권한 업데이트
스크립트는 참석자에게 수정 권한을 부여합니다. 보기 전용으로 권한을 제한하려면 코드의 다음 부분에서 addEditor
메서드를 addViewer
메서드로 바꿉니다.
for (let i in event.getGuestList()) { let guest = event.getGuestList()[i]; newDoc.addEditor(guest.getEmail());
의제 문서 템플릿 수정
의제 문서 템플릿을 업데이트하려면 다음 단계를 따르세요.
- 캘린더 일정에서 첫 번째 의제 항목을 만든 후 Google Drive를 엽니다.
- Agenda Maker - App 폴더를 엽니다.
- Agenda TEMPLATE## 문서를 열고 수정합니다.
참여자
이 샘플은 제품 관리 및 플랫폼 전략 컨설턴트인 제레미 글라센버그가 만들었습니다. 트위터에서 @jglassenberg을 통해 제레미를 만나보세요.
이 샘플은 Google에서 Google 개발자 전문가의 도움을 받아 유지관리합니다.