피드로 돌아가기
Import JSON from an API in Google Sheets
Dev.toDev.to
Backend

Apps Script를 활용한 API JSON 데이터의 Sheet 정형화 파이프라인 구축

Import JSON from an API in Google Sheets

bulldo.gs2026년 6월 13일4beginner

Context

외부 API의 비정형 JSON 데이터를 Google Sheets로 통합하는 과정에서 Add-on 설치 없이 자동화된 데이터 파이프라인 구축 필요성 제기. API 응답 객체와 SpreadsheetApp의 2D Array 입력 구조 간의 타입 불일치로 인한 런타임 에러 해결이 핵심 과제임.

Technical Solution

  • UrlFetchApp.fetch()의 HTTPResponse 객체에서 getContentText()를 호출하여 raw string을 추출한 후 JSON.parse()로 역직렬화 수행
  • setValues() 메서드의 엄격한 2D Array 제약 조건을 충족하기 위해 고정된 headers 배열 기반의 이중 map 구조로 데이터 정규화
  • API 응답 형태의 가변성(Single Object vs Array) 대응을 위해 Array.isArray() 체크를 통한 데이터 구조 정규화 로직 적용
  • API 필드 추가로 인한 시트 스키마 변동 방지를 위해 명시적 헤더 매핑 및 빈 값(fallback) 처리 구조 설계
  • 하드코딩된 자격 증명 유출 방지를 위해 PropertiesService를 통한 API Key의 스크립트 속성 저장 및 관리
  • 비정상 응답(Non-2xx) 제어를 위해 muteHttpExceptions 옵션을 통한 에러 핸들링 체계 구축

1. API 응답값이 단일 객체인지 배열인지 확인하여 Array 래핑 처리 적용

2. setValues() 호출 전 데이터 행과 열의 크기가 Range 설정과 일치하는지 검증

3. API Key 등 민감 정보는 PropertiesService에 저장하여 소스코드 분리

4. 중첩 JSON 구조 처리 시- dot notation 기반의 재귀적 Flattening 함수 구현 검토

원문 읽기