본문 바로가기
Project/홈페이지

[TODO] Google spread sheet 살펴보기

by 햄과함께 2019. 3. 15.
320x100

지금은 TODO 내용을 컴포넌트에 박아두고 사용하고 있다.

따라서 내용을 바꾸려면 소스코드를 수정해야 한다.

이렇게 안하려면 파일로 서버내에 저장을 하거나 DB를 써야하는데 최근에 구글 스프레드 시트를 이용해서 간단한 일정 관리 프로그램(?)을 만든 포스팅을 봐서

이번에는 스프레드 시트를 이용해보기로 했다.

 

 

먼저 간단하게 위와 같이 내용을 채웠다.

이 정보를 Google Spread Sheet를 API로 가져와서 사용하고자 한다.

구글 스프레드 시트 API를 한 번도 쓴적이 없으므로 일단 API 테스트부터 했다.

 

 

 

https://console.cloud.google.com/apis로 접속

 

프로젝트 생성

 

라이브러리 클릭

 

google sheet 검색 > 활성화

 

사용자 인증 정보 > 사용자 인증 정보 만들기 > API 키.

API 키는 요청 시 URL에 key={인증 키} 를 추가해서 인증하는 방식이다.

URL에 보여지게 되므로 보안이 좋은 편은 아니다.

하지만 제일 간단한 방법이므로 이걸로 테스트했다.

API 제한사항에 Google Sheets API를 등록했다.

발급받은 key는 API 요청시 필요하므로 복사해두자.

 

스프레드 시트에서 오른쪽 상단의 공유 > 고급 클릭

 

변경 클릭

 

모든 웹 사용자나 링크가 있는 모든 사용자로 변경해야 API로 접근 가능하다. 

1
2
3
4
5
6
7
{
  "error"{
    "code"403,
    "message""The caller does not have permission",
    "status""PERMISSION_DENIED"
  }
}
cs

이렇게 설정하지 않으면 위와 같이 403 에러를 뱉는다.

 

 


 

 

모든 준비는 끝났다. 

이제 실제로 문서를 참고해서 API를 날려보자.

https://sheets.googleapis.com/v4/spreadsheets/{spread sheet ID}/values/{sheet 이름}?key={발급받은 key}

간단히 위 API로 문서의 모든 내용을 가져와봤다.

 

sheet ID는 보통 구글 spread sheet에 접근 시

https://docs.google.com/spreadsheets/d/{spread sheet ID}/edit#gid=0

URL 형태가 위와 같다. 

저기에서 spread sheet ID에 해당하는 것을 사용하면 된다.

sheet 이름은 말그대로 시트 이름이다. 내가 작성한 것에서 sheet 이름은 시트1 요거다.

발급받은 key는 Google Cloud platform에서 인증에 사용할 key를 발급받았는데 그 때 발급받은 API 키를 사용한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
  "range""'시트1'!A1:Z1000",
  "majorDimension""ROWS",
  "values"[
    [
      "name",
      "todo"
    ],
    [
      "아침",
      "늦잠자라"
    ],
    [
      "점심",
      "낮잠자라"
    ],
    [
      "저녁",
      "이제자라"
    ]
  ]
}
cs

 

응답 값은 위와 같다.

요 응답값을 TODO 내용으로 파싱해서 화면에 뿌려주는건 다음에 해보자.

320x100

댓글