달나라 노트

Google Apps Script : 프로젝트의 종류 (Standalone script, Container bound script) 본문

Google Apps Script

Google Apps Script : 프로젝트의 종류 (Standalone script, Container bound script)

CosmosProject 2022. 11. 16. 02:39
728x90
반응형

 

 

 

GAS(Google Apps Script)에서 내가 코드를 작성할 수 있는 방법은 2가지입니다.

GAS script는 기본적으로 확장자가 .gs 인 파일에 코드를 작성하는 방식으로 진행됩니다.

이 .gs 파일이 어떤 프로젝트와 묶여있는지에 따라 그 종류가 달라집니다.

 

일단 위 말이 뭔지를 이해하려면 '프로젝트'라는 개념을 이해해야 합니다.

 

 

GAS에서 script는 무조건 프로젝트라는 거대한 틀 안에 존재하게됩니다.

이 프로젝트에는 script를 작성할 수 있는 .gs 파일과 .html 파일이 존재할 수 있습니다.

 

이렇게 하나의 프로젝트 안에는 여러 개의 .gs 파일, .html 파일이 존재할 수 있는 것이죠.

 

 

 

 

 

 

이제 Container bound script를 알아봅시다.

Container bound script는 script 파일(.gs)이 어떤 다른 컨테이너에 묶여있다는 의미입니다.

 

이 말이 무슨의미인지 알아봅시다.

 

아래처럼 구글 drive에서 스프레드시트를 생성한 후 Apps Script를 클릭합니다.

 

 

 

 

그러면 아래 화면처럼 script 파일이 생성되며 코드를 입력할 수 있게 됩니다.

 

 

위 이미지의 빨간색 사각형으로 표시된 부분을 보면 Code.gs 파일이 있죠.

이 Code.gs 파일에 script를 작성할 수 있는 것입니다.

 

이 빨간색 표시된 '파일' section이 하나의 프로젝트에 존재하는 모든 .gs, .html 파일 등을 보여주는 directory view 입니다.

 

그러면 Code.gs 파일은 어디에 존재하는걸까요?

바로 생성한 구글 스프레드시트와 하나로 묶여서 존재합니다.

 

Code.gs 파일은 어떤 프로젝트 안에 존재하는데 이 Code.gs 파일이 구글 스프레드시트로부터 생성되었기 때문에 Code.gs 파일이 구글 스프레드시트와 묶여있는 것이죠.

따라서 Google Drive의 driectory로 가봐도 생성한 스프레드시트만 보일 뿐 Code.gs 파일이나 다른 프로젝트 자체는 보이지 않습니다.

 

 

이렇게 스프레드시트, 문서, 설문지, 프레젠테이션 파일 내부적으로 .gs 파일을 생성하고 하나의 프로젝트로서 묶어둔 채로 존재하는 script 파일을 Container bound script라고 합니다.

 

 

 

 

 

이제 Standalone script를 봅시다.

 

Google Drive에서 우클릭을 한 후 아래처럼 Google Apps Script를 눌러봅시다.

 

 

그러면 아래처럼 제목없는 프로젝트가 생성될겁니다.

 

 

위에서 봤던 것과 마찬가지로 Code.gs라는 파일을 확인할 수 있습니다.

마찬가지로 현재 프로젝트 안에 Code.gs라는 파일이 있는겁니다.

 

다시 Google Drive 디렉토리로 이동해보면 아래처럼 제목 없는 프로젝트가 생성된 것을 볼 수 있습니다.

 

Container bound script와는 다르게 스프레드시트, 문서, 설문지, 프레젠테이션 등과는 전혀 묶이지 않은 별도의 개별 프로젝트에 Code.gs가 생성된겁니다.

 

Code.gs가 어떤 다른 무언가(스프레드시트, 문서, 설문지, 프레젠테이션)와 묶여있지 않다는 것이죠.

 

따라서 이러한 .gs 파일을 Standalone bound script라고 합니다.

 

 

 

 

 

그러면 왜 굳이 이 둘이 구분되어있는지가 궁금합니다.

결국 둘 다 .gs 파일이고 script를 작성할 수 있는 것은 똑같은데 말이죠.

 

사실 Container bound script와 Standalone script가 완전히 다른 무언가는 아니지만 약간의 차이가 있습니다.

 

예를들어 스프레드시트에서 생성한 .gs 파일의 경우 스프레드시트 자체에서 사용할 수 있는 여러 함수들을 사용할 수 있다거나 스프레드시트에서 사용할 수 있는 커스텀 함수들을 만들 수도 있습니다.

 

그러나 Standalone script는 위같은 기능 구현이 불가능할 수 있습니다.

 

 

 

반대로 별도의 라이브러리를 작성하는 등의 기능을 구현하려면 특정 스프레드시트에 묶여있지 않은 Standalone script를 사용해야하는 경우도 있습니다.

 

 

 

 

 

 

이제 현재 존재하는 프로젝트를 어떻게 보고 관리하는지 알아봅시다.

 

 

아무 프로젝트로 들어가서 왼쪽 상단에 Apps Script를 클릭해봅시다.

 

 

그러면 위같은 화면이 나오는데 이것이 바로 Apps Script dashboard입니다.

 

여기서는 현재 존재하는 프로젝트를 보고 프로젝트와 관련된 여러 기능을 이용할 수 있습니다.

 

위 이미지를 보면 2개의 프로젝트가 보입니다.

- 제목 없는 프로젝트

- my_test

 

여기서 제목 없는 프로젝트의 아이콘을 보면 화살표만 존재합니다. 이것은 Standalone script라는 의미입니다.

 

반대로 my_test를 보면 스프레드시트 아이콘을 배경으로 우측 하단에 화살표가 있는 아이콘처럼 생겼습니다.

이것은 스프레드시트와 결합된 script라는 의미이므로 Container bound script라고 판단할 수 있습니다.

 

 

 

프로젝트에 대한 상세 정보를 볼 수도 있습니다.

 

 

프로젝트에 마우스를 오버시키면 위 이미지처럼 오른쪽에 i 마크가 생깁니다.

i 마크를 눌러봅시다.

 

 

그러면 위같은 화면이 보일겁니다.

이 화면은 해당 프로젝트의 세부 정보와 프로젝트가 실행된 횟수, 오류율 등 프로젝트의 현황에 대한 여러 정보를 보여줍니다.

 

 

 

 

 

 

728x90
반응형
Comments