라이브러리

라이브러리는 함수를 다른 스크립트에서 재사용할 수 있는 스크립트 프로젝트입니다.

도서관 액세스

프로젝트에 라이브러리를 포함하려면 최소한 뷰 수준 이상이 있어야 합니다. 액세스할 수 있습니다 원하는 도서관의 저작자가 아닌 경우 작성자에게 연락하고 액세스를 요청할 수 있습니다.

포함하려는 라이브러리의 스크립트 ID가 필요합니다. 프로젝트 설정에서 스크립트 ID를 찾을 수 있습니다. 페이지

스크립트 프로젝트에 라이브러리 추가

  1. Apps Script 편집기 왼쪽의 '라이브러리' 옆에 있습니다. '추가'를 클릭하고 라이브러리 .
  2. '스크립트 ID' 필드에 라이브러리의 스크립트 ID를 붙여넣습니다.
  3. Look up을 클릭하면
  4. 버전 드롭다운을 클릭하고 라이브러리의 버전을 선택합니다. 있습니다.
  5. 기본 '식별자'가 이름은 사용할 수 있습니다. 이것은 스크립트가 라이브러리를 참조하세요 예를 들어 Test로 설정하면 다음과 같이 라이브러리의 메서드를 호출합니다. Test.libraryMethod()
  6. 추가를 클릭합니다.

라이브러리 사용

포함된 라이브러리를 기본 서비스를 사용하는 것처럼 사용합니다. 대상 예를 들어 Test가 라이브러리 식별자이면 다음과 같이 입력합니다. Test 바로 다음에 마침표를 눌러 라이브러리의 메서드 목록을 확인합니다.

포함된 라이브러리에 대한 참조 문서는 다음 방법으로 열 수 있습니다. 다음 단계를 따르세요.

스크립트 편집기 왼쪽에서 라이브러리 이름 옆에 있는 더보기를 클릭합니다. > 새 탭에서 열기

라이브러리 삭제

스크립트 편집기 왼쪽에서 라이브러리 이름 옆에 있는 더보기를 클릭합니다. > 삭제 > 라이브러리 삭제.

라이브러리 업데이트

라이브러리의 버전을 변경하거나 식별자를 업데이트할 수 있습니다.

  1. 편집기 왼쪽의 '라이브러리' 아래에서 라이브러리 이름을 클릭합니다
  2. 수정을 완료한 후 저장을 클릭합니다.

라이브러리 만들기 및 공유

스크립트 프로젝트를 라이브러리로 사용하고 공유하려면 다음 단계를 따르세요.

  1. 버전이 지정된 배포 만들기 있습니다.
  2. 라이브러리의 모든 잠재적 사용자와 최소한 보기 수준 액세스 권한을 공유합니다.
  3. 해당 사용자에게 스크립트 ID를 제공합니다. 이 ID는 프로젝트 설정 페이지를 엽니다.

권장사항

다음은 라이브러리를 작성할 때 따라야 할 가이드라인입니다.

  1. 프로젝트 이름으로 사용되므로 의미 있는 프로젝트 이름을 선택합니다. 기본 식별자를 사용하지 않습니다.
  2. 스크립트에서 하나 이상의 메서드가 표시되지 않도록 하거나 사용 가능한 경우)는 밑줄로 표시됩니다. 예를 들면 myPrivateMethod_()입니다.
  3. 열거 가능한 전역 속성만 라이브러리 사용자에게 표시됩니다. 여기에는 선언, var를 사용하여 함수 외부에서 생성된 변수, 명시적으로 설정된 속성 전역 객체에 적용됩니다 예를 들어 enumerablefalse로 설정된 Object.defineProperty()입니다. 라이브러리에서 사용할 수 있는 기호를 생성하지만 사용자가 이 기호에 액세스할 수 없습니다.
  4. 라이브러리 사용자가 스크립트 편집기 자동 완성 및 자동 생성된 문서를 사용하려면 JSDoc 스타일 문서를 참조하세요. 예를 들면 다음과 같습니다.

    /**
     * Raises a number to the given power, and returns the result.
     *
     * @param {number} base the number we're raising to a power
     * @param {number} exp the exponent we're raising the base to
     * @return {number} the result of the exponential calculation
     */
    function power(base, exp) { ... }
    

리소스 범위 지정

라이브러리로 작업할 때 리소스 유형에는 두 가지가 있습니다. 공유 비공유로 구분할 수 있습니다. 공유 리소스는 스크립트에는 리소스의 동일한 인스턴스에 대한 기본 제공 액세스 권한이 있습니다. 이 아래 다이어그램은 공유 리소스의 예시를 사용한 사용자 속성:

공유 리소스

공유되지 않은 리소스는 라이브러리와 포함된 스크립트 모두에 해당 리소스 인스턴스에만 기본 제공 액세스를 제공합니다. 하지만 도서관은 액세스를 제공하는 명시적 함수를 사용하여 작업을 수행할 수 있습니다 이것은 스크립트 속성을 노출합니다.

  function getLibraryProperty(key) {
    return ScriptProperties.getProperty(key);
  }

다음 다이어그램은 다음 예시를 사용하여 공유되지 않은 리소스를 보여줍니다. 스크립트 속성:

공유되지 않은 리소스

다음 표에는 참고할 수 있는 공유 리소스와 공유되지 않는 리소스가 나와 있습니다.

리소스 공유됨* 공유 안함** 참고
잠금 다음에서 생성될 때 이를 포함한 모든 스크립트에 동일한 인스턴스가 표시됩니다. 있습니다.
스크립트 속성 다음에서 생성될 때 이를 포함한 모든 스크립트에 동일한 인스턴스가 표시됩니다. 있습니다.
캐시 다음에서 생성될 때 이를 포함한 모든 스크립트에 동일한 인스턴스가 표시됩니다. 있습니다.
트리거 라이브러리에서 생성된 단순 트리거는 다음을 포함하여 트리거되지 않습니다. 있습니다.
ScriptApp
UiApp
사용자 속성
로거 및 실행 스크립트
Sites, Sheets, 기타 컨테이너 getActive() 호출은 스크립트 포함
MailApp 및 GmailApp
* 이는 라이브러리에 기능/리소스를 사용하고 대신 스크립트로 만든 것을 사용합니다. 확인할 수 있습니다
** 이는 라이브러리에 리소스/기능의 자체 인스턴스가 있음을 의미합니다. 라이브러리를 사용하는 모든 스크립트가 공유하며 해당 스크립트에 대한 액세스 권한이 사용할 수 있습니다

라이브러리 테스트

라이브러리를 테스트하려면 헤드 배포를 사용하세요. 편집자 수준의 권한을 가진 모든 사용자 헤드 배포를 사용할 수 있습니다

라이브러리 디버그

라이브러리가 포함된 프로젝트에서 디버거를 사용하면 포함된 라이브러리의 함수로 넘어갈 수 있습니다. 코드는 디버거를 올바른 버전으로 업데이트합니다.