Google Colaboratory で Google Drive の特定ディレクトリをマウントする
Python
Published: 2019-09-25

やったこと

Google Colaboratory で Google Drive の特定ディレクトリをマウントしてみます。

確認環境

Google Colaboratory で試しました。

調査

パッケージ取得

!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse

Google Cloud にアクセスする認証

from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()

google-drive-ocamlfuse の認証

import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}

設定ファイル書き換え

GOOGLE_DRIVE_FOLDER_ID には共有したいディレクトリのIDを入れます。

!cp -f ~/.gdfuse/default/config config
!sed -i -e "s/^root_folder=$/root_folder=GOOGLE_DRIVE_FOLDER_ID/" config
!mkdir -p drive
!google-drive-ocamlfuse -config ./config -cc drive
!ls drive

参考