고급 Google 서비스

숙련된 개발자는 Apps Script의 고급 서비스를 통해 HTTP 인터페이스보다 설정 작업이 적은 특정 공개 Google API에 연결할 수 있습니다. 고급 서비스는 기본적으로 이러한 Google API를 둘러싼 얇은 래퍼입니다. 이러한 서비스는 Apps Script의 기본 제공 서비스와 매우 유사하게 작동합니다. 예를 들어 자동 완성을 제공하고 Apps Script가 승인 흐름을 자동으로 처리합니다. 하지만 고급 서비스를 사용 설정해야 스크립트에서 고급 서비스를 사용할 수 있습니다.

고급 서비스로 사용할 수 있는 Google API를 확인하려면 참조고급 Google 서비스 섹션을 참조하세요. 고급 서비스로 사용할 수 없는 Google API를 사용하려면 다른 외부 API와 마찬가지로 연결하면 됩니다.

고급 서비스 또는 HTTP?

각각의 고급 Google 서비스는 공개 Google API와 연결되어 있습니다. Apps Script에서 고급 서비스를 통하거나 UrlFetch를 사용하여 직접 API를 요청하면 이러한 API에 액세스할 수 있습니다.

고급 서비스 방법을 사용하는 경우 Apps Script가 승인 흐름을 처리하고 자동 완성 지원을 제공합니다. 하지만 먼저 고급 서비스를 사용 설정해야 사용할 수 있습니다. 또한 일부 고급 서비스는 API에서 사용할 수 있는 기능의 일부만 제공합니다.

UrlFetch 메서드를 사용하여 API에 직접 액세스하는 경우 기본적으로 Google API를 외부 API로 취급하게 됩니다. 이 방법을 사용하면 API의 모든 측면을 사용할 수 있습니다. 하지만 이를 위해서는 API 승인을 직접 처리해야 합니다. 또한 필요한 헤더를 구성하고 API 응답을 파싱해야 합니다.

일반적으로 가능한 경우 고급 서비스를 사용하는 것이 가장 쉽고, 고급 서비스에서 필요한 기능을 제공하지 않는 경우에만 UrlFetch 메서드를 사용하는 것이 좋습니다.

요구사항

고급 서비스를 사용하려면 먼저 다음 요구사항을 충족해야 합니다.

  1. 스크립트 프로젝트에서 고급 서비스를 사용 설정해야 합니다.
  2. 고급 서비스에 해당하는 API가 스크립트에서 사용하는 Cloud Platform (GCP) 프로젝트에 사용 설정되어 있는지 확인해야 합니다.

    스크립트 프로젝트에서 2019년 4월 8일 이후에 생성된 기본 GCP 프로젝트를 사용하는 경우 고급 서비스를 사용 설정하고 스크립트 프로젝트를 저장하면 API가 자동으로 사용 설정됩니다. 아직 동의하지 않은 경우 Google CloudGoogle API 서비스 약관에 동의하라는 메시지가 표시될 수도 있습니다.

    스크립트 프로젝트에서 표준 GCP 프로젝트 또는 이전의 기본 GCP 프로젝트를 사용하는 경우 GCP 프로젝트에서 수동으로 고급 서비스의 해당 API를 사용 설정해야 합니다. 이렇게 변경하려면 GCP 프로젝트에 대한 수정 액세스 권한이 있어야 합니다.

자세한 내용은 Cloud Platform 프로젝트를 참조하세요.

고급 서비스 사용 설정

고급 Google 서비스를 사용하려면 다음 안내를 따르세요.

  1. Apps Script 프로젝트를 엽니다.
  2. 왼쪽에서 편집기 를 클릭합니다.
  3. 왼쪽의 서비스 옆에 있는 서비스 추가 를 클릭합니다.
  4. 고급 Google 서비스를 선택하고 추가를 클릭합니다.

고급 서비스를 사용 설정하면 자동 완성에서 사용할 수 있습니다.

메서드 서명이 결정되는 방식

메서드 서명은 Apps Script에서 사용할 수 있도록 변환되지만 고급 서비스는 일반적으로 해당 공개 API와 동일한 객체, 메서드 이름, 매개변수를 사용합니다. 스크립트 편집기의 자동 완성 기능은 보통 시작하는 데 충분한 정보를 제공하지만 아래 규칙에서는 Apps Script가 공개 Google API에서 메서드 서명을 생성하는 방법을 설명합니다.

Google API에 대한 요청은 경로 매개변수, 쿼리 매개변수, 요청 본문 또는 미디어 업로드 첨부파일을 비롯한 다양한 유형의 데이터를 허용할 수 있습니다. 일부 고급 서비스는 특정 HTTP 요청 헤더 (예: 캘린더 고급 서비스)를 허용할 수도 있습니다.

Google Apps Script에서 상응하는 메서드 서명에는 다음과 같은 인수가 있습니다.

  1. 자바스크립트 객체인 요청 본문 (일반적으로 리소스)
  2. 경로 또는 필수 매개변수로, 개별 인수로 사용됩니다.
  3. Blob 인수로 사용되는 미디어 업로드 첨부파일입니다.
  4. 매개변수 이름을 값에 매핑하는 자바스크립트 객체로서의 선택적 매개변수.
  5. HTTP 요청 헤더: 헤더 이름을 헤더 값에 매핑하는 자바스크립트 객체.

메서드의 지정된 카테고리에 항목이 없으면 서명의 해당 부분이 생략됩니다.

다음과 같은 특별한 예외사항이 있습니다.

  • 미디어 업로드를 허용하는 메서드의 경우 uploadType 매개변수가 자동으로 설정됩니다.
  • Google API에서 delete라는 메서드의 이름은 Apps Script에서 remove입니다. delete는 자바스크립트에서 예약어이기 때문입니다.
  • HTTP 요청 헤더를 허용하도록 고급 서비스가 구성되어 있고 요청 헤더 자바스크립트 객체를 설정한 경우 선택적 매개변수 자바스크립트 객체도 설정해야 합니다 (선택적 매개변수를 사용하지 않는 경우에는 빈 객체로).

고급 서비스 지원

고급 서비스는 Apps Script 내에서 Google API를 사용할 수 있게 해주는 씬 래퍼에 불과합니다. 따라서 스크립트를 사용하는 동안 발생하는 모든 문제는 일반적으로 Apps Script 자체가 아닌 기본 API의 문제입니다.

고급 서비스 사용 중에 문제가 발생하면 기본 API의 지원 안내에 따라 문제를 보고해야 합니다. 이러한 지원 안내의 링크는 Apps Script 참조 섹션의 각 고급 서비스 가이드에 포함되어 있습니다.