1. 문제
- Sheet 버전이 V3 -> V4로 변경되면서, 기존에 사용하던 방법이 안되는 문제가 발생
const url = 'https://spreadsheets.google.com/feeds/cells/SPREAD_SHEET_ID/1/public/full?alt=json'
- AppScript(구글 sheet 플러그인)는 redirect 발생
curl -s "https://spreadsheets.google.com/feeds/cells/SPREAD_SHEET_ID/1/public/full?alt=json" > data.json
<html> <head> <title>Moved Temporarily</title> </head> <body bgcolor="#FFFFFF" text="#000000"> <h1>Moved Temporarily</h1> The document has moved <a href="REDIRECT_URL">here</a>. </body> </html>
2. 해결책
- curl
-L
((redirect follow) 플래그를 사용해서, AppScript 사용하자curl -s -L "https://spreadsheets.google.com/feeds/cells/SPREAD_SHEET_ID/1/public/full?alt=json" > data.json
- V4 API를 사용하여, JSON 형태로 데이터를 가져오자
const url = 'https://sheets.googleapis.com/v4/spreadsheets/SPREAD_SHEET_ID/values/TAB_NAME?alt=json&key=API_KEY'
3. JSON 파일을 다운받아, 로컬에 저장
-
shell script를 실행하여, spreadsheets를 다운받아 json으로 만들기
# make json 파일 #!/bin/bash curl -s "https://sheets.googleapis.com/v4/spreadsheets/SPREAD_SHEET_ID/values/TAB_NAME?alt=json&key=API_KEY"
# data.json { "range": "test!A1:Z1000", "majorDimension": "ROWS", "values": [ [ "hello", "world" ], [ "foo", "bar" ] ] }