1. Google Apps Script 소개
이 Codelab에서는 Google 개발자 기술에 액세스하는 가장 쉬운 코드 작성 방법을 소개합니다. 이 모든 작업은 주류 웹 개발 언어인 JavaScript를 적용하여 이루어집니다. Google Apps Script를 사용하여 Google 시트의 셀에서 도로 주소를 추출하고, 이 주소를 기반으로 Google 지도를 생성한 다음, Gmail을 사용하여 지도를 첨부파일로 전송하는 코드를 작성합니다. 무엇보다도 코드 4줄만 있으면 됩니다.
학습할 내용
- Google Sheets, Google 지도, Gmail과 같은 다양한 Google 서비스와 함께 Google Apps Script를 사용하는 방법
- Apps Script의 브라우저 내 편집기를 사용하여 코드를 개발합니다.
필요한 항목
- 인터넷에 액세스할 수 있는 웹브라우저
- Google 계정 (Google Workspace 계정의 경우 관리자 승인이 필요할 수 있음)
- Google Sheets에 관한 기본 지식
- Sheets A1 표기법을 읽을 수 있음
2. 설문조사
이 Codelab/튜토리얼을 어떻게 사용할 예정인가요?
Google Workspace 개발자 도구 및 API 사용 경험을 평가해 주세요.
3. 개요
이 Codelab의 내용을 알았으니 이제 정확히 무엇을 해야 할까요?
- JavaScript 기반인 Apps Script에 대해 알아봅니다.
- Google Sheets 스프레드시트를 만듭니다.
- 스프레드시트의 왼쪽 상단 셀 (A1)에 상세 주소를 입력합니다.
- 문서의 Apps Script 편집기를 여는 방법을 알아보세요.
- Apps Script 코드를 수정하고 저장한 후 실행합니다.
- Gmail을 사용하여 결과를 확인합니다.
이제 시작해 볼까요?
Google Apps Script란 무엇인가요?
Google Apps Script는 Google Workspace와 통합되는 스크립트와 소규모 애플리케이션을 빠르고 쉽게 만들 수 있는 개발 플랫폼입니다. Apps Script를 사용하면 다음 작업을 할 수 있습니다.
- JavaScript로 코드를 작성하고 Gmail, Calendar, Drive 등 Google Workspace 애플리케이션의 내장 라이브러리에 액세스합니다.
- 따로 설치할 것은 없습니다. 브라우저에서 바로 코드 편집기가 제공되고 스크립트가 Google 서버에서 실행됩니다.
- 플랫폼에서 처리하므로 보안 및 데이터 액세스 권한과 같은 복잡한 주제에 대해 걱정할 필요가 없습니다.
Apps Script를 사용하면 채팅 봇부터 웹 앱까지 다양한 애플리케이션을 만들 수 있습니다. 가장 인기 있는 용도 중 하나는 Google Sheets 스프레드시트의 기능을 확장하는 것입니다. 이 Codelab의 나머지 부분에서는 Apps Script를 사용하여 스프레드시트의 데이터를 가져와 다른 Google 서비스에 연결하는 방법을 알아봅니다.
4. Google 시트를 만들고 상세 주소 입력하기
새 Google 시트에서 다음 안내에 따라 올바른 상세 주소를 입력합니다.
- 이 편리한 링크 (sheets.google.com/create)를 사용하여 Google 시트를 만듭니다. 또는 Google Drive (drive.google.com)로 이동하여 새로 만들기 > Google Sheets > 빈 스프레드시트를 클릭합니다.

- 빈 스프레드시트에서 왼쪽 상단의 첫 번째 셀 (A1)로 이동합니다. A1은 A열 1행에 있습니다. 다시 숙지해야 하는 경우 이 A1 표기법 설명을 확인하세요.
- 셀에 올바른 상세 주소를 입력합니다. 상세 주소, 우편번호 또는 도시와 주/도의 조합을 사용하여 정확한 위치가 있는 전 세계 주소를 선택합니다. 다음은 뉴욕시의 주소 예입니다.

시트에서 해야 할 작업은 모두 끝났습니다. 편집기를 열고 코드를 작성해 보겠습니다.
5. Apps Script 코드 수정
이제 새 Google 시트가 있으므로 바인드된 스크립트를 수정할 차례입니다. 다음의 안내를 참조하세요.
스크립트 편집기 열기
메뉴 바에서 확장 프로그램 > Apps Script를 선택하여 Apps Script의 브라우저 코드 편집기를 엽니다.
새 브라우저 탭에서 코드 편집기에 시트의 기본 컨테이너 바운드 스크립트가 표시됩니다. myFunction()이라는 기본 함수가 자동으로 생성되고 커서가 함수 내에 배치되어 바로 시작할 수 있습니다.
주소의 Google 지도를 이메일로 전송
제공된 '템플릿' 코드가 비어 있으므로 애플리케이션으로 대체해 보겠습니다.
- 스크립트 편집기에서 기본
myFunction()코드 블록을 다음 코드로 바꿉니다.
/** @OnlyCurrentDoc */
function sendMap() {
var sheet = SpreadsheetApp.getActiveSheet();
var address = sheet.getRange('A1').getValue();
var map = Maps.newStaticMap().addMarker(address);
GmailApp.sendEmail('YOUR_EMAIL_ADDR', 'Map', 'See below.', {attachments:[map]});
}
- 자리표시자 이메일 주소 (
'YOUR_EMAIL_ADDR')를 유효한 이메일 주소로 바꿉니다. 예: friend@example.com - 스크립트를 저장하려면 저장
을 클릭합니다.
- Apps Script 프로젝트의 이름을 바꾸려면 제목 없는 프로젝트를 클릭하고 프로젝트 제목을 입력한 다음 이름 바꾸기를 클릭합니다.
코드 검토
전체 애플리케이션을 구성하는 sendMap() 함수의 4줄을 살펴보겠습니다. 흥미롭게도 이 코드에서는 3가지 다른 Google 제품을 참조합니다.
첫 번째 줄은 승인에 영향을 미치는 주석입니다.
/** @OnlyCurrentDoc */
대부분의 스크립트는 실행되기 전에 사용자에게 일부 권한을 요청합니다. 이러한 권한은 사용자가 스크립트에 허용하는 작업을 제어합니다. 첫 번째 줄은 Apps Script에 모든 사용자의 스프레드시트가 아닌 현재 스프레드시트에 대한 액세스를 제한하도록 지시하는 선택적 주석입니다. 단일 파일로만 작업하는 경우 이 주석을 포함하는 것이 항상 좋습니다.
이 코드는 sendMap()에 일반 JavaScript 함수 선언을 사용합니다.
function sendMap() {
다음 줄은 SpreadsheetApp 객체를 통해 Apps Script에서 액세스할 수 있는 스프레드시트 서비스를 호출합니다. 반환된 시트는 동일한 이름의 변수에 할당됩니다. getActiveSheet() 메서드는 현재 시트 객체의 참조를 가져와서 sheet 변수에 저장합니다.
var sheet = SpreadsheetApp.getActiveSheet();
sheet 객체를 사용하여 getRange()를 이용해 A1 표기법으로 단일 셀의 셀 범위를 참조합니다. '범위'는 셀 그룹으로, 주소를 입력한 셀인 A1과 같은 단일 셀도 범위에 해당합니다. 범위 내부의 값을 가져오려면 getValue() 메서드가 범위의 왼쪽 상단 셀 값을 반환하고 이 값을 address 변수에 할당합니다. 다른 셀에 주소를 더 추가하고 읽어 볼 수도 있습니다.
var address = sheet.getRange('A1').getValue();
세 번째 코드 줄은 Maps 객체를 사용하여 Google 지도 서비스에 연결합니다. newStaticMap()는 정적 지도 객체를 만들고 addMarker() 메서드는 시트의 주소를 사용하여 지도에 '핀'을 추가합니다.
var map = Maps.newStaticMap().addMarker(address);
마지막으로 MailApp 객체를 통한 Gmail 서비스는 sendEmail() 메서드를 호출하여 'See below.'라는 텍스트와 지도 이미지 첨부파일이 포함된 이메일을 전송합니다.
GmailApp.sendEmail('friend@example.com', 'Map', 'See below.', {attachments:[map]});
}
6. Google Sheets, 지도, Gmail 앱 실행하기
이름을 지정하고 저장했으면 이제 함수를 실행할 차례입니다. 편집기 상단에서 함수 목록에서 sendMap()이 선택되어 있는지 확인하고 실행을 클릭합니다.
개발자가 Apps Script에서 가장 좋아하는 기능은 프로그램에 사용자의 데이터에 대한 액세스 권한을 부여하는 승인 코드를 작성하지 않아도 된다는 점입니다. Apps Script에서 이를 관리하지만 앱 사용자는 스크립트가 스프레드시트에 액세스하고 Gmail을 통해 이메일을 보낼 수 있도록 권한을 부여해야 합니다. 첫 번째 승인 대화상자는 다음과 같습니다.

계속하려면 권한 검토를 클릭합니다.
다음으로 시트에 액세스하고 사용자를 대신하여 이메일을 보낼 수 있는 권한을 요청하는 OAuth2 대화상자가 표시됩니다.

권한을 부여한 후에는 스크립트가 완료될 때까지 실행됩니다.
메시지를 보낸 이메일 계정을 확인하면 제목이 'Map'이고 메시지가 다음과 같은 이메일이 있을 것입니다.

이메일 메시지에서 첨부파일을 열면 시트에 입력한 주소에 핀이 표시된 Google 지도가 표시됩니다.

단 4줄의 코드로 3가지 Google 제품에 의미 있는 방식으로 액세스했습니다.
7. 추가 리소스
이 Codelab에 나온 코드는 GitHub 저장소 github.com/googleworkspace/apps-script-intro-codelab에서도 확인할 수 있습니다. 다음은 이 Codelab에서 다룬 내용을 자세히 살펴보고 Google 개발자 도구에 프로그래매틱 방식으로 액세스하는 다른 방법을 알아볼 수 있는 추가 리소스입니다.
문서
동영상
뉴스 및 업데이트
- Google Workspace 개발자 블로그
- 트위터: Google Workspace Developers (@workspacedevs)
기타 Codelab
도입
- [Google Sheets] Google Sheets를 사용한 Apps Script의 기본사항
- [REST API] Google Workspace 및 Google API를 사용하여 Google Drive의 파일 및 폴더에 액세스하기
중급
- [Apps Script] Gmail용 Google Workspace 부가기능
- [Apps Script] 행아웃 채팅용 맞춤 봇
- [REST API] Google Sheets를 애플리케이션의 보고 도구로 사용하기
- [REST API] BigQuery API를 사용하여 Google Slides 프레젠테이션 생성