1. Google Apps Script 소개
이 Codelab에서는 Google 개발자 기술에 액세스하는 코드를 작성하는 가장 쉬운 방법 중 하나를 소개합니다. 이 모든 작업은 주류 웹 개발 언어인 JavaScript를 적용하여 수행됩니다. Google Apps Script를 사용하여 Google 시트의 셀에서 주소를 추출하고 주소를 기반으로 Google 지도를 생성한 다음 Gmail을 사용하여 지도를 첨부파일로 보내는 코드를 작성합니다. 무엇보다도 코드는 4줄에 불과합니다.
학습할 내용
- 다양한 Google 서비스(예: Google 스프레드시트, Google 지도, Gmail)에서 Google Apps Script를 사용하는 방법
- 브라우저 내 Apps Script 편집기를 사용하여 코드를 개발합니다.
필요한 항목
- 인터넷에 액세스할 수 있는 웹브라우저
- Google 계정 (Google Workspace 계정에 관리자의 승인이 필요할 수 있음)
- Google Sheets의 기본 지식
- Sheets A1 표기법 읽기 기능
2. 설문조사
이 Codelab/튜토리얼을 어떻게 사용할 계획인가요?
귀하의 Google Workspace 개발자 도구 및 서비스 이용 경험을 평가해 주세요. API는 어떨까요?
<ph type="x-smartling-placeholder">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 시트 스프레드시트의 기능을 확장하는 것입니다. 이 Codelab의 나머지 부분에서는 Apps Script를 사용하여 스프레드시트의 데이터를 가져와 다른 Google 서비스에 연결하는 방법을 알아봅니다.
4. Google 시트 만들기 및 상세 주소 입력
새 Google 시트에 다음 안내에 따라 올바른 상세 주소를 입력합니다.
- 이 링크 (sheets.google.com/create)를 사용하여 Google 시트를 만듭니다. 또는 Google Drive (drive.google.com)로 이동하여 새로 만들기 > Google Sheets > 빈 스프레드시트
- 빈 스프레드시트 내에서 왼쪽 상단 모서리 (A1)의 첫 번째 셀로 이동합니다. A열과 1행에 있습니다. A1 표기법에 대한 자세한 내용은 A1 표기법에 대한 설명을 참조하세요.
- 셀에 올바른 상세 주소를 입력하세요. 상세 주소, 우편번호 또는 도시와 주/도를 조합한 정확한 위치가 포함된 전 세계의 주소를 선택하세요. 다음은 뉴욕시 주소의 예입니다.
이것으로 시트에서 할 일을 모두 했습니다. 편집기를 열고 코드를 작성해 보겠습니다.
5. Apps Script 코드 수정
이제 새 Google 시트가 있으므로 바인딩된 스크립트를 수정할 차례입니다. 다음의 안내를 참조하세요.
스크립트 편집기 열기
메뉴 바에서 확장 프로그램 > Apps Script를 클릭하여 Apps Script용 브라우저 코드 편집기를 엽니다.
새 브라우저 탭의 코드 편집기에 시트의 기본 container-bound 스크립트가 표시됩니다. 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개 줄을 살펴보겠습니다. 흥미롭게도 이 코드는 세 가지 서로 다른 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()
메서드를 호출하여 '아래 참고'라는 텍스트가 모두 포함된 이메일을 전송합니다. 지도 이미지를 첨부할 수 있습니다.
GmailApp.sendEmail('friend@example.com', 'Map', 'See below.', {attachments:[map]});
}
6. Google Sheets, 지도, Gmail 앱 실행
이름을 지정하고 저장했으면 함수를 실행할 차례입니다. 편집기 상단의 함수 목록에서 sendMap()
이 선택되어 있는지 확인하고 Run을 클릭합니다.
Apps Script 개발자들이 높이 평가하는 한 가지는 사용자 데이터에 대한 프로그램 액세스 권한을 부여하는 인증 코드를 작성할 필요가 없다는 것입니다. Apps Script에서 이를 관리하지만 앱 사용자는 스크립트가 스프레드시트에 액세스하고 Gmail을 통해 이메일을 보낼 수 있도록 권한을 부여해야 합니다. 첫 번째 승인 대화상자는 다음과 같습니다.
계속하려면 권한 검토를 클릭합니다.
그러면 시트에 액세스하고 나를 대신하여 이메일을 보낼 권한을 요청하는 OAuth2 대화상자 창이 표시됩니다.
권한을 부여하면 스크립트가 완료될 때까지 실행됩니다.
메일을 보낸 이메일 계정을 확인하면 '지도'가 포함된 이메일을 찾을 수 있습니다. 을 제목으로 지정하고 다음과 같은 메시지를 입력합니다.
이메일 메시지의 첨부파일을 열면 시트에 입력한 주소에 핀이 표시된 Google 지도가 표시됩니다.
단 4줄의 코드만으로 3가지 Google 제품에 의미 있는 방식으로 액세스할 수 있었습니다.
7. 추가 리소스
이 Codelab에서 다루는 코드는 GitHub 저장소(github.com/googleworkspace/apps-script-intro-codelab)에서도 확인할 수 있습니다. 다음은 이 Codelab에서 다룬 자료를 자세히 살펴보고 Google 개발자 도구에 프로그래매틱 방식으로 액세스하는 다른 방법을 탐색하는 데 도움이 되는 추가 리소스입니다.
문서
동영상
뉴스 및 업데이트
- Google Workspace 개발자 블로그
- 트위터: Google Workspace 개발자 (@workspacedevs)
기타 Codelab
초급
- [Google Sheets] Google Sheets를 사용한 Apps Script의 기본사항
- [REST API] Google Workspace 및 Google API를 사용하여 파일 및 폴더 만들기
중급
- [Apps Script] Gmail용 Google Workspace 부가기능
- [Apps Script] 행아웃 채팅용 맞춤 봇
- [REST API] Google Sheets를 애플리케이션의 보고 도구로 사용
- [REST API] BigQuery API를 사용하여 Google Slides 프레젠테이션 생성