코딩 수준: 초급
소요 시간: 15분
프로젝트 유형: 이벤트 기반 트리거를 사용한 자동화
목표
- 솔루션의 기능을 이해합니다.
- 솔루션 내에서 Apps Script 서비스의 기능을 이해합니다.
- 스크립트를 설정합니다.
- 스크립트를 실행합니다.
이 솔루션 정보
Google Docs에서 자동으로 일정목록 문서를 만들어 Google Calendar 회의에 첨부합니다.
사용 방법
스크립트가 의제에 대한 문서 템플릿을 만듭니다. 캘린더를 업데이트하면 스크립트가 내가 소유한 이벤트의 설명에 '#agenda'가 포함되어 있는지 확인합니다. 태그가 있는 경우 스크립트는 템플릿의 사본을 만들어 캘린더 일정에 추가하고 이벤트 참석자와 공유합니다.
Apps Script 서비스
이 솔루션은 다음 서비스를 사용합니다.
- Drive 서비스–템플릿 문서가 있는지 확인하고 없으면 템플릿 문서를 위한 새 폴더를 만듭니다. 각 새 주제에 대한 템플릿 문서의 사본을 만듭니다.
- 문서 서비스–주제 템플릿을 만듭니다.
- 캘린더 서비스: '#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).
이 샘플은 Google Developer Experts의 도움으로 Google에서 관리합니다.