라이브러리는 함수를 다른 스크립트에서 재사용할 수 있는 스크립트 프로젝트입니다.
도서관 액세스
프로젝트에 라이브러리를 포함하려면 최소한 뷰 수준 이상이 있어야 합니다. 액세스할 수 있습니다 원하는 도서관의 저작자가 아닌 경우 작성자에게 연락하고 액세스를 요청할 수 있습니다.
포함하려는 라이브러리의 스크립트 ID가 필요합니다. 프로젝트 설정에서 스크립트 ID를 찾을 수 있습니다.
페이지스크립트 프로젝트에 라이브러리 추가
- Apps Script 편집기 왼쪽의 '라이브러리' 옆에 있습니다. '추가'를 클릭하고 라이브러리 .
- '스크립트 ID' 필드에 라이브러리의 스크립트 ID를 붙여넣습니다.
- Look up을 클릭하면
- 버전 드롭다운을 클릭하고 라이브러리의 버전을 선택합니다. 있습니다.
- 기본 '식별자'가 이름은
사용할 수 있습니다. 이것은 스크립트가
라이브러리를 참조하세요 예를 들어
Test
로 설정하면 다음과 같이 라이브러리의 메서드를 호출합니다.Test.libraryMethod()
- 추가를 클릭합니다.
라이브러리 사용
포함된 라이브러리를 기본 서비스를 사용하는 것처럼 사용합니다. 대상
예를 들어 Test
가 라이브러리 식별자이면 다음과 같이 입력합니다.
Test
바로 다음에 마침표를 눌러 라이브러리의 메서드 목록을 확인합니다.
포함된 라이브러리에 대한 참조 문서는 다음 방법으로 열 수 있습니다. 다음 단계를 따르세요.
스크립트 편집기 왼쪽에서 라이브러리 이름 옆에 있는 더보기를 클릭합니다.
> 새 탭에서 열기라이브러리 삭제
스크립트 편집기 왼쪽에서 라이브러리 이름 옆에 있는 더보기를 클릭합니다.
> 삭제 > 라이브러리 삭제.라이브러리 업데이트
라이브러리의 버전을 변경하거나 식별자를 업데이트할 수 있습니다.
- 편집기 왼쪽의 '라이브러리' 아래에서 라이브러리 이름을 클릭합니다
- 수정을 완료한 후 저장을 클릭합니다.
라이브러리 만들기 및 공유
스크립트 프로젝트를 라이브러리로 사용하고 공유하려면 다음 단계를 따르세요.
- 버전이 지정된 배포 만들기 있습니다.
- 라이브러리의 모든 잠재적 사용자와 최소한 보기 수준 액세스 권한을 공유합니다.
- 해당 사용자에게 스크립트 ID를 제공합니다. 이 ID는 프로젝트 설정 페이지를 엽니다.
권장사항
다음은 라이브러리를 작성할 때 따라야 할 가이드라인입니다.
- 프로젝트 이름으로 사용되므로 의미 있는 프로젝트 이름을 선택합니다. 기본 식별자를 사용하지 않습니다.
- 스크립트에서 하나 이상의 메서드가 표시되지 않도록 하거나
사용 가능한 경우)는
밑줄로 표시됩니다. 예를 들면
myPrivateMethod_()
입니다. - 열거 가능한 전역 속성만 라이브러리 사용자에게 표시됩니다. 여기에는
선언,
var
를 사용하여 함수 외부에서 생성된 변수, 명시적으로 설정된 속성 전역 객체에 적용됩니다 예를 들어enumerable
가false
로 설정된Object.defineProperty()
입니다. 라이브러리에서 사용할 수 있는 기호를 생성하지만 사용자가 이 기호에 액세스할 수 없습니다. 라이브러리 사용자가 스크립트 편집기 자동 완성 및 자동 생성된 문서를 사용하려면 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 | |||
* 이는 라이브러리에
기능/리소스를 사용하고 대신 스크립트로 만든 것을 사용합니다.
확인할 수 있습니다
** 즉, 라이브러리에는 자체 리소스/기능 인스턴스가 있으며 라이브러리를 사용하는 모든 스크립트는 동일한 인스턴스를 공유하고 이에 액세스할 수 있습니다. |
라이브러리 테스트
라이브러리를 테스트하려면 헤드 배포를 사용하세요. 편집자 수준의 권한을 가진 모든 사용자 헤드 배포를 사용할 수 있습니다
라이브러리 디버그
라이브러리가 포함된 프로젝트에서 디버거를 사용하면 포함된 라이브러리의 함수로 넘어갈 수 있습니다. 코드는 디버거를 올바른 버전으로 업데이트합니다.