구글 스크립트로 만들어본 스마트시트 데이터 자동으로 내보내기
스마트시트를 업무용으로 사용하다 보면 시트의 데이터를 가지고 통계를 내려는 필요가 있곤 한다. 통계를 위해서는 대시보드와 차트를 사용해야 하는데, 스마트시트에서 차트를 사용하려면 통계 시트와 대시보드를 별도로 만들어야 하는 등 스마트시트 라이선스를 보유한 상태에서 다소 번거로운 작업을 해야 할 수 있다. 그래서, 차라리 스마트시트 데이터를 엑셀이나 구글 시트로 export 하여 차트를 만들기도 한다.
스마트시트에서는 엑셀, 구글 시트로 데이터를 export 하는 기능을 제공하니 이 기능을 사용하면 어렵지 않게 스마트시트 데이터를 내보낼 수 있다.
그런데, 이렇게 하면 스마트시트의 데이터가 바뀔 때마다 매번 export를 통해 다시 통계를 적용해야 한다. 데이터가 자주 바뀐다면 꽤나 번거로운 작업이다. 만약 스마트시트 데이터를 구글 시트로 정기적으로 내보낼 수 있다면, 구글 시트 미리 만들어놓은 차트는 항상 최신 데이터를 보여줄 수 있다.
이번 글에서는 예전 글에서도 소개했던 google apps script를 사용해서 정기적으로 스마트시트 데이터를 구글 시트로 내보내는 방법을 소개해본다.
google apps script를 사용해서 스마트시트 데이터를 가져오려면 스마트시트의 API를 활용해야 한다. 스마트시트의 API에 대해서는 이 문서를 참고하면 좀 더 자세한 정보를 얻을 수 있다.
스마트시트 API를 사용해서 시트의 데이터를 가져오려면 먼저 API Key를 생성해야 한다.
스마트시트의 우측 상단의 account에서 Apps & Integrations.. 를 눌러 Personal Seetings으로 들어간다. API Access에서 Generate new access token을 눌러 API key를 생성한다.
여기서 생성한 API token은 내 계정이 access 가능한 모든 시트에 대한 권한이 있는 key이기 때문에 외부에 노출되지 않도록 안전한 곳에 잘 기록해둔다.
이제 구글 드라이브를 열어서 새 구글 시트를 생성한다. 상단의 Tools -> Script editor를 눌러 google script editor를 실행한다.
먼저 스마트시트의 Access key를 추가하기 위해서 이미지와 같이 File -> Project properties를 클릭
아래 이미지와 같이 Script properties 탭에 AuthKey라는 항목을 만들어주고 스마트시트 Access Token을 추가
이후 script editor에 이곳에 있는 script를 복사해서 추가한다.
이 스크립트에 데이터를 가져올 시트를 지정해줘야 하는데, 스크립트의 상단에 있는 SHEET_ID 부분에 따옴표('') 안에 sheet id를 추가해주면 된다.
참고로 sheet id는 스마트시트의 File - Properties.. 에서 확인이 가능하다.
이후 스크립트 저장 후 상단의 Run 버튼을 누르면 최초에 한번 구글 시트에 대한 access를 요청한 후에 구글 스크립트가 실행된다.
정상적으로 실행이 되었다면 아래와 같이 스마트시트의 데이터가 구글 시트로 export 된다.
코드 실행은 정상적으로 되었으니 이 코드가 정기적으로 실행되어 스마트시트 데이터를 구글 시트로 가져올 수 있도록 trigger를 생성해야 한다.
trigger 설정 화면으로 넘어가면 가운데 있는 create a new trigger를 클릭하여 아래와 같이 trigger를 설정한다. 세부 옵션은 원하는 대로 변경하여 저장하면 끝.
아직은 google script를 배워가는 중이라 오류가 있을 수 있습니다. 혹시 오류가 발견되시면 댓글을 남겨주세요. 확인해보겠습니다. :)