코딩 수준: 초급
기간: 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## 문서를 열고 수정합니다.
참여자
이 샘플은 제품 관리 및 플랫폼 전략 컨설턴트인 Jeremy Glassenberg가 만들었습니다. 트위터 @jglassenberg에서 Jeremy를 찾아보세요.
이 샘플은 Google Developer Expert의 도움을 받아 Google에서 유지관리합니다.