Google Workspace 부가기능 빌드

새 Google Workspace 부가기능을 빌드하려면 다음 일반 절차를 따르세요.

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

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

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

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

Apps Script 프로젝트

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

부가기능을 게시할 때 단일 사용자 계정이 게시자 역할을 합니다. 게시 계정에는 스크립트 프로젝트에 대한 수정 액세스 권한이 있어야 하지만 소유자일 필요는 없습니다.

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

Google 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 이외의 서비스에서 가져온 데이터를 사용할 수 있습니다.

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

건설 순서

카드를 만들 때는 위에서부터 제작해야 합니다. 즉, 이 구성 순서를 사용해야 합니다.

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

이는 카드 또는 카드 섹션에 위젯을 추가할 때 그 위젯의 사본을 실제로 추가하게 되므로 필요합니다. 위젯 객체를 추가한 후에 변경한 사항은 최종 카드에 반영되지 않습니다.

범용 작업

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

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

부가기능 OAuth 범위 확인하기

범위는 부가기능이 사용자를 대신하여 수행할 수 있는 작업을 정의합니다. 부가기능은 반드시 순서대로 기능해야 하는 작업의 범위만 포함하고 그 이상은 두는 것이 좋습니다.

부가기능 프로젝트에서는 부가기능이 가능한 최소 허용 범위 집합을 사용하도록 부가기능 범위를 명시적으로 설정합니다. 부가기능 매니페스트에서 부가기능이 사용하는 범위를 정의합니다.

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

부가기능 테스트

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

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

부가기능 게시

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

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

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