Google Workspace 부가기능을 설계, 빌드, 게시하는 방법을 알아보세요.
- 사용자가 사용할 수 있는 부가기능을 원하는 Google Workspace 애플리케이션을 결정합니다.
- 애드온의 프로젝트를 설정하고 소유자와 공동작업자를 선택합니다.
- 부가기능의 모양과 동작을 설계하고 구성합니다.
- 부가기능을 빌드합니다.
- 애드온의 OAuth 범위를 확인합니다.
- 하나 이상의 Google Workspace 애플리케이션 내에서 부가기능을 테스트합니다.
- 부가기능을 게시합니다.
Apps Script 또는 HTTP로 부가기능을 빌드합니다. 두 가지를 비교하려면 'Apps Script vs. HTTP endpoints: Which should you choose?'(Apps Script와 HTTP 엔드포인트: 어떤 것을 선택해야 할까요?) 동영상을 시청하세요. 🤔'
Google Workspace 호스트 애플리케이션 선택
다음 Google Workspace 호스트 애플리케이션에 표시되도록 Google Workspace 부가기능을 구성할 수 있습니다.
- Gmail
- Google 캘린더
- Google Chat
- Google Docs
- Google Drive
- Google Meet
- Google Sheets
- Google Slides
Google Workspace 애플리케이션을 빌드하려면 Google Workspace UI 확장을 참고하세요.
애드온의 프로젝트를 설정하고 소유자 및 공동작업자 선택
Apps Script에서 부가기능을 빌드하는 경우 Apps Script 프로젝트와 Google Cloud 프로젝트를 모두 만듭니다. Apps Script가 아닌 언어로 부가기능을 빌드하는 경우 Google Cloud 프로젝트만 만들면 됩니다.
부가기능을 빌드하려면 스크립트 프로젝트와 Cloud 프로젝트를 모두 구성해야 합니다.
부가기능 개발을 시작하기 전에 프로젝트를 소유할 단일 사용자 계정을 선택하고 공동작업자로 사용할 다른 계정을 결정합니다. 프로젝트 소유자는 프로젝트 파일과 관련 설정을 만들고 관리하며, 공동작업자는 코딩과 테스트를 지원할 수 있습니다.
Apps Script 프로젝트
부가기능을 빌드하기 전에 Apps Script 할당량 및 제한사항을 검토하여 프로젝트 디자인을 이러한 가이드라인에 맞추세요. Apps Script는 사용자 기반이 작은 개인 또는 내부 부가기능을 가볍게 개발하는 데 가장 적합합니다. 애드온에 많은 사용자 지원, 짧은 지연 시간 또는 인프라에 대한 완전한 제어가 필요한 경우 다른 런타임을 고려하세요.
단일 계정이 단독 소유권을 갖지 않도록 공유 드라이브에서 부가기능의 Apps Script 프로젝트 파일을 빌드합니다. 공유 드라이브에 부가기능 스크립트 파일을 배치하면 모든 공동작업자가 스크립트 프로젝트에 액세스할 수 있습니다.
부가기능을 게시할 때 단일 사용자 계정이 게시자가 됩니다. 게시 계정에는 스크립트 프로젝트에 대한 수정 액세스 권한이 있어야 하지만 소유자일 필요는 없습니다.
Apps Script 프로젝트를 만들려면 스크립트 프로젝트를 참고하세요.
Google Cloud 프로젝트
부가기능의 클라우드 프로젝트에 공동작업자를 추가합니다. 이렇게 하면 팀에서 언제든지 부가기능의 클라우드 설정에 액세스할 수 있습니다.
Google Cloud 프로젝트를 만들려면 Google Cloud 프로젝트 만들기를 참고하세요.
부가기능 모양 및 동작 설계 및 구성
빌드하기 전에 부가기능의 모양과 동작을 결정하세요. 부가기능이 해결하는 사용 사례를 고려합니다. 먼저 기본 디자인으로 시작하여 작업을 진행한 다음 세부사항을 추가하세요.
부가기능 사용자 환경을 설계하는 방법에 관한 가이드라인은 Google Workspace 부가기능 스타일 가이드를 참고하세요.
부가기능 매니페스트 구성
부가기능 매니페스트에서 디자인을 구현합니다. 부가기능이 확장하는 Google Workspace 호스트 애플리케이션을 비롯하여 매니페스트에서 부가기능의 모양과 동작을 구성합니다.
자세한 내용은 Google Workspace 부가기능의 매니페스트를 참고하세요.
코드와 기능을 추가할 때 필요에 따라 매니페스트를 업데이트하여 필수 부가기능 모양과 동작을 정의합니다.
Google Chat 앱 모양 및 동작 구성
Google Chat을 확장하는 부가기능을 설계하는 경우 Google Chat API를 사용하여 Chat 앱의 모양과 동작을 구성합니다. 단계는 Google Chat API 사용을 참고하세요.
부가기능 빌드
부가기능의 카드 기반 인터페이스를 구현합니다. 카드 서비스를 사용하거나 다른 코드 언어를 사용하는 경우 인터페이스가 카드로 렌더링되도록 서식이 지정된 JSON을 반환합니다.
애드온 매니페스트에 지정된 트리거 함수를 구현합니다. 애드온이 OAuth를 사용하여 서드 파티 서비스에 연결되는 경우 해당 서비스의 OAuth를 구성합니다.
카드 구성
Card 객체를 만들고 위젯을 추가하여 부가기능 사용자 인터페이스를 정의합니다. 매니페스트에 지정된 트리거 함수는 단일 Card 객체 또는 애드온 인터페이스의 여러 '페이지'를 나타내는 Card 객체의 배열을 반환해야 합니다. 또한 부가기능은 사용자 작업에 대한 응답으로 새 카드를 만들어 표시할 수 있습니다.
Apps Script에서 CardBuilder 클래스를 사용하여 카드를 만듭니다. 각 카드에는 CardHeader와 하나 이상의 CardSections이 필요합니다. 인터페이스를 구성하는 개별 위젯으로 각 카드 섹션을 채웁니다.
상호작용 위젯은 일반적으로 작업에 연결되어 상호작용 동작을 정의합니다.
CardBuilder를 통해 카드에 섹션과 위젯을 모두 추가한 후 CardBuilder.build을 호출하여 해당 Card 객체를 만듭니다.
CalendarApp과 같은 기본 제공 Apps Script 서비스](/apps-script/guides/services/)를 사용하여 부가기능 카드에 표시할 정보를 가져옵니다. Google 이외의 서비스에서 데이터를 사용합니다.
애드온이 OAuth가 필요한 비Google API에 액세스해야 하는 경우 해당 서비스를 구성하고 연결합니다(비Google 서비스에 연결 가이드 참고).
건설 순서
카드를 만들 때는 위에서부터 만드세요. 다음과 같은 순서로 구성하세요.
- 위젯을 빌드합니다.
- 위젯을 카드 섹션에 추가합니다.
- 카드 섹션에 모든 위젯이 포함될 때까지 반복합니다.
- 카드에 카드 섹션을 추가합니다.
카드 또는 카드 섹션에 위젯을 추가하면 실제로 해당 위젯의 사본이 추가되기 때문입니다. 위젯 객체를 추가한 후 변경한 사항은 최종 카드에 반영되지 않습니다.
유니버설 작업
범용 작업을 사용하여 컨텍스트와 무관한 기능을 제공합니다. 범용 작업은 카드와 관계없이 부가기능 UI에서 사용할 수 있는 메뉴 항목입니다. 정의된 모든 범용 작업은 부가기능의 카드 메뉴에 표시됩니다.
자세한 내용은 유니버설 작업을 참고하세요.
애드온 OAuth 범위 확인
범위는 부가기능이 사용자를 대신하여 취할 수 있는 작업을 정의합니다. 부가기능에는 작동하는 데 필요한 범위만 있어야 합니다.
부록 프로젝트에서 부록 범위를 설정하여 부록이 가능한 가장 제한적인 범위 집합을 사용하도록 합니다. 부가기능 매니페스트에서 범위를 정의합니다.
자세한 내용은 범위를 참고하세요.
부가기능 테스트
먼저 게시되지 않은 부가기능을 설치하여 게시되지 않은 부가기능을 테스트할 수 있습니다. 설치하고 승인한 후 계정에서 부가기능을 사용하여 확장되는 호스트 애플리케이션의 모양과 동작을 테스트합니다. 부가기능이 컨텍스트 및 사용자 작업에 대해 예상대로 작동하는지 확인합니다.
애드온 테스트를 시작하려면 다음 가이드를 참고하세요.
- Apps Script Google Workspace 부가기능 테스트 및 디버그
- HTTP Google Workspace 부가기능 테스트 및 디버그
- Google Chat 앱의 대화형 기능 테스트하기
부가기능 게시
게시하면 다른 사용자가 애드온을 사용할 수 있습니다. 게시하기 전에 게시물 개요를 검토하세요. 게시는 준비가 필요한 복잡한 프로세스입니다.
Google Workspace 부가기능은 Google Workspace Marketplace에 게시됩니다. 공개적으로 제공되는 부가기능은 게시되기 전에 앱 검토가 필요합니다.
자세한 내용은 Google Workspace 부가기능 게시를 참고하세요.