데이터 사이언스

Mounting Google Drive as a folder in Ubuntu

망나 2019. 12. 20. 11:41

구글 드라이브를 우분투에 마운팅하기!! Reference

 

Mounting Google Drive as a folder in Ubuntu

At work we’re setting up a system so we can run Python scripts on files in Google Drive, but these scripts need to be continuously running so they need to live on a server. To get this working, we needed to mount our Google Drive folder onto the Ubuntu mac

olgabotvinnik.com

 

1. Ubuntu에 command-line google drive 설치하기

google-drive-ocamlfuse is a command-line client for interacting with Google Drive in Ubuntu.

 

- add the repository to apt

sudo add-apt-repository ppa:alessandro-strada/ppa

 

- update apt and install google-drive-ocamlfuse

sudo apt update && sudo apt install google-drive-ocamlfuse

 

 

 

2. ~/googledrive 디렉토리 만들기

google-drive-ocamlfuse needs the mounted directory to already exist.

mkdir ~/googledrive

 

 

 

3. Google Drive API로 부터 Client ID와 Secret 가져오기

만약 google-drive-ocamlfuse를 DISPLAY를 지원하지 않는 우분투에서 실행하면 에러가 발생하게 됩니다. 이 경우 headless 옵션을 사용해야하는데 이때, command line에 Client ID와 Secret이 필요로 합니다.

 

google-drive-ocamlfuse ~/googledrive -headless

Error: In headless mode, you should specify a client id and a client secret

 

아래 과정을 통해서 Google API credentials를 생성하여 Client ID와 Secret을 얻을 수 있습니다.

 

  1. Use this wizard to create or select a project in the Google Developers Console and automatically turn on the API. Click Continue , then Go to credentials .
  2. On the Add credentials to your project page, click the Cancel button.
  3. At the top of the page, select the OAuth consent screen tab. Select an Email address , enter a Product name if not already set, and click the Save button.
  4. Select the Credentials tab, click the Create credentials button and select OAuth client ID .
  5. Select the application type Other , enter the name “Drive API Quickstart”, and click the Create button.
  6. Click OK to dismiss the resulting dialog.
  7. Click the file_download (Download JSON) button to the right of the client ID.
  8. Move this file to your working directory and rename it client_secret.json.

 

 

4. 다운로드 받은 JSON을 업로드하기

filezilla또는 scp를 사용해서 client_secret.json 파일을 우분투에 업로드 합니다.

 

 

 

5. Google Drive API 활성화하기

ls: cannot access 'googledrive': Input/output error라는 에러 메시지를 받게 된다면, 아래의 방법으로 Google Drive API를 활성화 해야 합니다.

 

  1. Go back to the Google Developers API Console
  2. Click “Library”
  3. Search for “Google Drive”
  4. Click “Enable”

 

6. Google Drive 폴더 마운트하기 !!

3단계에서 생성한 Client ID와 Secret로 아래의 command로 구글 드라이브를 우분투에 마운트할 수 있습니다.

 

google-drive-ocamlfuse ~/googledrive -headless -id client id - secret client secret

 

실행하면 아래와 같이 인증 코드를 얻을 수 있는 web browser 주소를 리턴합니다. 

 

Please, open the following URL in a web browser: https://accounts/google/com/o/oauth2/auth?client_id..... 

 

해당 주소에 접속하여 인증 코드를 복사하여 아래의 command 입력란에 입력하면 마운트 완료!!

 

Please enter the verification code: 인증 코드