-
[Google Apps Script] Node.js에서 Google Spreadsheet 조회Programing/Google Apps Script 2021. 10. 5. 19:32
개요
외부에서 Google Spreadsheet의 데이터를 조회하는 방법을 알아보겠습니다. 해당 기능을 이용하면, Google Spreadsheet를 느리지만 간단한 DB로 사용할 수도 있습니다.
Google Spreadsheet 조회
우선 Google Spreadsheet를 하나 생성하고 임의 데이터를 입력합니다.
외부에서 해당 시트를 조회 하려면, 외부에서 접근 가능하게 링크 공유 설정을 수정해줍니다. 링크가 있는 모든 사용자에게 공개로 설정해주세요.
간단한 node 코드를 작성 해 줍니다. axios를 이용하여 아래의 링크에 GET 메소드를 이용하면 데이터가 조회 됩니다.
URL : https://docs.google.com/spreadsheets/d/{GOOGLE_SHEET_ID}/gviz/tq?sheet={GOOGLE_SHEET_NAME}
{GOOGLE_SHEET_ID} 에는 조회하기 원하는 Google Spreadsheet URL에 있는 ID값을 넣어줍니다.
{GOOGLE_SHEET_NAME} 에는 조회하기 원하는 시트의 이름을 입력해 줍니다. Google Spreadsheet 하단에서 확인할 수 있습니다.
문자열 형식으로 데이터가 출력됩니다. 해당 문자열을 간단하게 파싱하는 함수를 만들어 실행해보면 아래와 같이 출력 됩니다.
이쁘게 col, row 형태로 데이터가 조회되는 것을 확인 할 수 있습니다. 이해하기 어려우시면 맨 위의 시트 예제와 함께 데이터를 비교해주세요. 이렇게 파싱된 데이터를 원하는 형식으로 가공해서 사용할 수 있습니다.
쿼리문 사용
쿼리문을 이용하여 조회할 데이터를 필터링 할 수 있습니다.
조회하는 URL에 "tq=" 쿼리를 붙여서 적용합니다.
쿼리 사용법은 해당 공식 문서에서 자세히 확인 할 수 있습니다.
결론
물론 기존 DB에 비해 성능면에서는 많이 차이가 날 것으로 생각 되지만, 이러한 방식으로 Google Spreadsheet를 비용과 리소스가 들지않는 간단한 구조의 DB로 만들 수 있습니다.
그리고 Node 뿐만 아니라 다양한 서비스에서도 REST API 형식으로 조회가 가능합니다. 실제로 저도 이것을 사용해서 DB서버 없는 챗봇 서비스, 프론트엔드 서비스 등 다양하게 응용을 하고 있습니다.
감사합니다.
반응형'Programing > Google Apps Script' 카테고리의 다른 글
[Google Apps Script] 구글 앱스 스크립트를 이용한 간단 스프레드 시트 자동화 #02 (2) 2018.12.14 [Google Apps Script] 구글 앱스 스크립트를 이용한 간단 스프레드 시트 자동화 #01 (4) 2018.12.11 댓글