Google Workspace 부가기능 빌드

이 페이지에서는 Google Workspace 부가기능을 설계, 빌드, 게시하는 방법을 간략히 설명합니다. 이 개요에서는 다음 단계를 설명합니다.

  1. 사용자에게 부가기능을 제공할 Google Workspace 애플리케이션을 결정합니다.
  2. 부가기능의 프로젝트를 설정하고 소유자와 공동작업자를 선택합니다.
  3. 부가기능의 모양과 동작을 디자인합니다.
  4. 부가기능의 프로젝트 매니페스트 또는 배포 리소스를 구성합니다.
  5. 부가기능의 모양과 동작을 정의하는 코드를 작성합니다.
  6. 부가기능의 OAuth 범위를 확인합니다.
  7. 하나 이상의 Google Workspace 애플리케이션 내에서 부가기능을 테스트합니다.
  8. 부가기능을 게시합니다.

Google Workspace 호스트 애플리케이션 선택

다음 Google Workspace 호스트 애플리케이션에 표시되도록 Google Workspace 부가기능을 구성할 수 있습니다.

  • Gmail
  • Google Calendar
  • Google Docs
  • Google Drive
  • Google Sheets
  • Google Slides

Google Workspace 애플리케이션용으로 빌드하는 방법을 알아보려면 Google Workspace UI 확장을 참고하세요.

부가기능의 프로젝트 설정 및 소유자 및 공동작업자 선택

Apps Script에서 부가기능을 빌드하는 경우 Apps Script 프로젝트와 Google Cloud 프로젝트를 모두 만듭니다. Apps Script 이외의 언어로 부가기능을 빌드하는 경우 Google Cloud 프로젝트만 만들면 됩니다.

부가기능 개발을 시작하기 전에 프로젝트를 소유할 단일 사용자 계정을 선택하고 공동작업자 계정을 결정합니다. 프로젝트 소유자는 프로젝트 파일과 관련 설정을 만들고 관리하며 공동작업자는 코딩 및 테스트를 도울 수 있습니다.

Apps Script 프로젝트

공유 드라이브에서 부가기능의 Apps Script 프로젝트 파일을 빌드하면 단일 계정이 소유권을 독점하지 못하도록 할 수 있습니다. 부가기능 스크립트 파일을 공유 드라이브에 배치하면 여러 공동작업자가 스크립트 프로젝트에 액세스할 수 있습니다.

부가기능을 게시하면 단일 사용자 계정이 게시자로 작동합니다. 게시 계정에 스크립트 프로젝트에 대한 수정 액세스 권한이 있어야 하지만 소유자가 아니어도 됩니다.

Apps Script 프로젝트를 만들려면 스크립트 프로젝트를 참고하세요.

Google Cloud 프로젝트

부가기능의 Cloud 프로젝트에 공동작업자를 추가하는 것이 좋습니다. 이렇게 하면 팀의 누군가가 항상 부가기능의 Cloud 설정에 액세스할 수 있습니다.

Google Cloud 프로젝트를 만들려면 Google Cloud 프로젝트 만들기를 참고하세요.

부가기능의 모양과 동작 설계

빌드를 시작하기 전에 원하는 부가기능의 모양과 작동 방식을 결정하세요. 부가기능에서 솔루션을 제공해야 하는 사용 사례를 고려하세요. 먼저 간단한 디자인으로 시작하여 작동하는지 확인한 다음 세부사항을 추가합니다.

부가기능 사용자 환경을 설계하는 방법에 대한 가이드라인은 Google Workspace 부가기능 스타일 가이드를 참고하세요.

부가기능 프로젝트 매니페스트 구성

Apps Script 프로젝트에서 프로젝트 매니페스트는 특수 JSON 파일입니다. 라이브러리 종속 항목과 같은 프로젝트에 관한 다양한 세부정보를 지정합니다. Google Workspace 부가기능의 경우 매니페스트는 호스트 애플리케이션이 부가기능을 올바르게 표시하는 데 필요한 기본 정보도 제공합니다.

Apps Script에서 부가기능의 매니페스트를 구성하는 방법에 관한 자세한 내용은 매니페스트를 참고하세요.

부가기능에 코드와 기능을 추가할 때 필요한 부가기능 모양과 동작을 생성하도록 필요에 따라 매니페스트를 수정합니다.

부가기능 코딩

부가기능의 카드 기반 인터페이스를 구현해야 합니다. Apps Script의 카드 서비스를 사용하거나 다른 코드 언어로 작성하는 경우 인터페이스가 카드로 렌더링할 수 있도록 올바른 형식의 JSON을 반환합니다.

또한 부가기능 매니페스트에 지정된 트리거 함수를 구현해야 합니다. 부가기능이 OAuth를 사용하여 Google 이외의 서드 파티 서비스에 연결되는 경우 해당 서비스의 OAuth도 구성해야 합니다.

건설 카드

Card 객체를 만들고 위젯으로 채워 부가기능 사용자 인터페이스를 정의합니다. 매니페스트에 지정된 트리거 함수는 단일 Card 객체 또는 부가기능 인터페이스의 서로 다른 '페이지'를 나타내는 Card 객체 배열을 반환해야 합니다. 또한 부가기능은 사용자 작업에 대한 응답으로 새 카드를 만들고 표시할 수 있습니다.

Apps Script에서는 CardBuilder 클래스를 사용하여 카드를 만듭니다. 각 카드에는 CardHeader와 하나 이상의 CardSections가 필요합니다. 각 카드 섹션을 부가기능 인터페이스를 구성하는 개별 위젯으로 채워야 합니다. 상호작용 위젯은 일반적으로 작업에 연결되어 상호작용 동작을 정의합니다.

CardBuilder를 통해 모든 섹션과 위젯을 카드에 추가한 후 CardBuilder.build()를 호출하여 상응하는 Card 객체를 만들어야 합니다.

CalendarApp와 같은 다른 기본 제공 Apps Script 서비스를 사용하여 빌드하는 부가기능 카드에 표시할 정보를 검색할 수 있습니다. Google 이외의 서비스에서 가져온 데이터를 사용할 수 있습니다.

부가기능에 OAuth가 필요한 Google 이외의 API에 액세스해야 하는 경우 해당 서비스를 구성하고 연결해야 합니다. 자세한 내용은 Google 이외의 서비스에 연결 가이드를 참고하세요.

건설 명령

카드를 빌드할 때는 맨 위에서 빌드해야 합니다. 즉, 다음과 같은 구성 순서를 사용해야 합니다.

  1. 위젯을 빌드합니다.
  2. 카드 섹션에 위젯을 추가합니다.
  3. 카드 섹션에 모든 위젯이 표시될 때까지 반복합니다.
  4. 카드에 카드 섹션을 추가합니다.

카드 또는 카드 섹션에 위젯을 추가하면 실제로 해당 위젯의 사본이 추가되기 때문에 이 작업이 필요합니다. 위젯을 추가한 후 위젯 객체를 변경해도 최종 카드에는 반영되지 않습니다.

범용 작업

범용 작업을 사용하여 컨텍스트와 무관한 기능을 제공할 수 있습니다. 범용 작업은 표시되는 카드와 관계없이 부가기능 UI에서 사용할 수 있는 메뉴 항목입니다. 정의된 모든 범용 작업은 항상 부가기능의 카드 메뉴에 표시됩니다.

자세한 내용은 범용 작업을 참고하세요.

부가기능 OAuth 범위 확인

범위는 부가기능이 사용자를 대신하여 수행할 수 있는 작업을 정의합니다. 부가기능은 작동하는 데 필요한 작업의 범위만 포함하고 그 이상은 포함하지 않는 것이 좋습니다.

부가기능 프로젝트에서 부가기능 범위를 명시적으로 설정하여 부가기능이 가능한 한 가장 제한적인 범위 세트를 사용하도록 합니다. 부가기능 매니페스트에서 부가기능이 사용하는 범위를 정의합니다.

자세한 내용은 범위를 참고하세요.

부가기능 테스트

먼저 게시되지 않은 부가기능을 설치하여 게시되지 않은 부가기능을 테스트할 수 있습니다. 설치 및 승인되면 계정에서 부가기능을 사용하고 확장하는 호스트 애플리케이션에서 부가기능의 모양과 동작을 테스트할 수 있습니다. 부가기능이 컨텍스트 및 사용자 작업에 대해 예상대로 작동하는지 확인해야 합니다.

자세한 내용은 Google Workspace 부가기능 테스트를 참고하세요.

부가기능 게시

부가기능을 게시하면 다른 사용자(공개적으로 또는 도메인의 사용자만)에게 제공됩니다. 게시 프로세스를 시작하기 전에 게시 개요를 검토하세요. 게시는 준비와 시간이 필요한 복잡한 절차입니다.

Google Workspace 부가기능은 Google Workspace Marketplace에 게시됩니다. 공개적으로 제공되는 부가기능은 게시되기 전에 앱 검토를 완료해야 합니다.

자세한 내용은 Google Workspace 부가기능 게시를 참고하세요.