본문 바로가기
Quant

구글 시트(API)와 플라스크(Flask) 연동하기 : 목차

by 인천고래 2023. 12. 22.
반응형

이 글에서는 구글 시트 API를 활용하여 Python의 플라스크 웹 애플리케이션과 구글 시트를 연동하는 방법에 대해 간략한 개요 형태로 설명합니다.

구글 시트와 파이썬 플라스크 웹 애플리케이션의 연동은 웹 기반 프로젝트에서 데이터를 쉽게 관리하고 공유할 수 있는 유용한 방법이며 이 글에 언급된 항목들에 대해서는 세부적인 내용을 항목별로 하나씩 풀어나갈 예정이니 지속적인 관심을 가져주시길 바라겠습니다.


안녕하세요. 자동매매를 구축하고 있는 인천고래입니다.

 

알고 계시는 분들은 알고 계시겠지만(말이 좀 이상하네요. ^^)

제가 만드는 자동매매는 다른 곳에서 사용하는 매매기법하고는 차원이 다른 형태입니다.

오로지 기술적 분석으로만 접근을 하도록 되어 있으며 철저히 제 사이트에 올라온 기법들로만 이루어진 자동매매 프로그램입니다. (사이트에서 언급되지 않은 다른 보조지표 등은 사용하지 않았다고 보시면 됩니다.)

 

중요하면서도 중요하지 않을 것 같은 이 말씀을 드리는 이야기는 다른 기법을 찾으러 에너지를 낭비하실 필요가 없다는 것을 말씀드리기 위함입니다.

기본적인 스킬들만 체득을 하신다면 충분히 수익을 얻으실 수 있다는 것을 말씀드리고 싶습니다.

 

맨 서두에 말씀드린 내용이지만 오늘은 제가 사용하는 자동매매를 보조해 주는 역할을 할 구글시트를 플라스크(파이썬)와 연동을 하는 글을 올려봅니다. 감사합니다.


구글 클라우드 홈페이지 화면

구글 시트 API 설정

1. 프로젝트 생성 및 API 활성화

  • Google Cloud Platform(GCP) 가입 : https://cloud.google.com/
  • GCP에서 새 프로젝트를 만듭니다. 
  • 생성한 프로젝트에서 Google Sheets API를 활성화합니다.

2. 인증 정보 생성

  • Google Sheets API에 접근하기 위한 서비스 계정 키(JSON 파일)를 생성합니다.

 

구글 시트 API 라이브러리 설치

  • Python에서는 gspread와 oauth2client 라이브러리를 통해 Google Sheets API를 손쉽게 사용할 수 있습니다.
pip install gspread oauth2client

 

구글 시트 데이터 읽기 및 쓰기

  • 다음은 Python에서 구글 시트의 데이터를 읽고 쓰는 기본 코드입니다.
import gspread 
from oauth2client.service_account import ServiceAccountCredentials 

# 구글 인증을 위한 스코프 설정 
scope = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive'] 

# 서비스 계정 키 파일을 사용하여 인증 
creds = ServiceAccountCredentials.from_json_keyfile_name('path_to_your_credentials.json', scope) 
client = gspread.authorize(creds) 

# 구글 시트 열기 
sheet = client.open('your_google_sheet_name').sheet1 

# 데이터 읽기 및 쓰기 
all_data = sheet.get_all_records() sheet.append_row(['data1', 'data2', 'data3']) 
cell_data = sheet.cell(1, 2).value

 

플라스크와의 통합

위의 코드를 기존 플라스크(Flask) 애플리케이션에 통합하여 웹 인터페이스를 통해 데이터를 관리할 수 있습니다.

더불어 프론트엔드 구현을 위해 JavaScript와 AJAX를 활용하여 웹 페이지에서 구글 시트 데이터를 동적으로 표현할 수 있습니다. 이와 관련된 사항에 대해서는 이후 세부적인 글을 통해서 말씀드리도록 하겠습니다.

 

참고 사항 - Google API 사용 시 사용량 제한과 요금 정책

사용량 제한 (Quotas)

일일 사용량 제한: Google Sheets API는 일일 요청량에 대한 제한이 있습니다. 이는 데이터 읽기, 쓰기, 수정 요청 횟수에 적용됩니다.

사용자당 제한: 개별 사용자 또는 서비스 계정이 일정 기간 동안 보낼 수 있는 요청 수에도 제한이 있습니다.

사용량 제한 조정: 필요에 따라 Google Cloud Console에서 사용량 제한을 조정할 수 있습니다.

하지만 이는 Google의 승인을 필요로 할 수 있습니다.

 

요금 정책

기본적으로 무료 사용: Google Sheets API는 기본적으로 무료로 사용할 수 있으며대부분의 개발자나 소규모 프로젝트에는 무료 티어가 충분합니다.   $300에 해당하는 기능을 3개월간 무료로 이용 가능하며 무료 이용기간이 끝난 후 자동적으로 유료로 전환되지도 않습니다.

과도한 사용에 대한 요금: 정해진 무료 사용량을 초과하는 경우, 추가 요금이 부과될 수 있습니다. 이는 Google Cloud Platform의 특정 요금제에 따라 다르니 이에 대해서는 확인을 해 보시기를 바랍니다.

 

실제 구현 시 세부적인 설정과 코드 수정이 필요하니 실제로 프로젝트에 적용할 때는 각 단계마다 세심한 주의를 기울여서 진행하시면 될 것 같습니다.

 

오늘도 제 글을 읽어주신 모든 분들께 감사의 말씀을 드립니다.

감사합니다.

반응형
-

댓글