서비스 계정의 구글 드라이브 관리

서비스 계정의 구글 드라이브 관리
Photo by Kai Wenzel / Unsplash

Local Ghost를  AWS로 이전 - 7편

서비스 계정으로 연결된 구글 드라이브는 일반적인 구글 드라이브 처럼 로그인해서 자료를 관리할 수 없다. 다행히 관리 UI를 제공하는 자료가 있어서 그 내용을 안내하겠다.  
참고: https://github.com/behoyh/google-drive-ui/tree/master

Google drive관리

서비스 계정의 구글드라이브 관리를 위해서는 우분투 환경이 필요한데 여기서는 윈도우즈 PC에서 도커를 이용하겠다.

1. 우분투 도커 생성

docker pull ubuntu:20.04
docker run -it --name test-ubuntu ubuntu:20.04 /bin/bash

참고: https://velog.io/@peeeeeter_j/Docker에서-Ubuntu-20.04-사용하기

18.04 버전

docker pull ubuntu:18.04
docker run -it --name test-ubuntu ubuntu:18.04 /bin/bash -d -p 8080:3000 httpd

2. 필요한 환경 설정

docker exec -it test-ubuntu /bin/bash

apt-get update
apt-get install vim -y
apt-get install git
apt-get install npm
#npm install -g npm@4.0.0 #알맞는 버전 선택
apt install curl
apt install sudo

sudo apt-get remove nodejs
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install gcc g++ make
sudo apt-get update && sudo apt-get install yarn
sudo apt-get install -y nodejs

# 버전 확인
node -v
# v18.17.0
npm -v
# 8.19.2

참고
https://medium.com/@ozhanli/how-to-install-vim-nano-in-docker-container-4343e0ac0652
https://velog.io/@velopert/learn-remix
https://remix.run/docs/en/main/tutorials/blog
https://learnubuntu.com/update-node-js/

3. 포트를 연결 시키지 않아서 사이트에 접속이 안될 것이다. 다음은 기존 도커를 이미지로 만들고 포트를 추가하는 방법이다. 솔직히 시인한다. 원래 1번 과정에서 -p 옵션으로 포트번호를 지정했어야한다. 깜박했삼.

docker stop test-ubuntu
docker commit test-ubuntu test-ubuntu-port
docker rm test-ubuntu
docker run -d -p 8084:3000 -it --name test-ubuntu test-ubuntu-port /bin/bash

참고: https://www.baeldung.com/linux/assign-port-docker-container

4. root폴더로 이동해서 실행해보자

su
cd /home/testCloud/ghost-google-drive
npm install
# npm audit fix  # 필요시
npm run dev

5. 브라우저로 가서 localhost:8084로 접속. 그리고 텍스트박스에 key값을 입력. 이제  save 하면 이미지 관리UI가 나타날 것이다.

{  
  "key": 
      {
          "private_key_id": "YOUR PRIVATE KEY ID",
          "private_key": "YOUR PRIVATE KEY",
          "client_email": "YOUR CLIENT EMAIL",
          "client_id": "YOUR CLIENT ID"
      } 
}

참고

- postman을 이용한 google drive Api
https://www.youtube.com/watch?v=9HHd3IWI5Jg
- spring boot와  google drive API
https://www.youtube.com/watch?v=rCFH6EHoVQg&list=PL6staZz89fj_sEJkcwATwSjKTENIkMCAl&index=6
- python을 통한 구글 드라이브 API
https://www.youtube.com/watch?v=uI220BJ0yXc&list=PL3JVwFmb_BnTamTxXbmlwpspYdpmaHdbz&index=2
- 일반 구글 드라이브에서 파일 업로드, 삭제, url 생성
https://www.youtube.com/watch?v=1y0-IfRW114
- nodejs를 통한 파일 업로드
https://www.labnol.org/google-api-service-account-220404