☁️
PythonでGoogle Driveの自分のファイルを操作する方法
Google DriveのファイルをPythonで操作したい
ふとGoogle DriveのファイルをPythonでダウンロードしてあれこれしたくなりました。
ちょっと手間だったので、手順をメモしておきます。
PyDrive2というライブラリを使用しました。
事前準備
Google API有効化
Google APIを有効化しておく必要があります。
公式のマニュアルは以下です。
日本語だと以下がわかりやすいです(スクリーンショット等あるため、公式よりわかりやすい)。
私は、後で以下の403エラーになってハマってしまいました。
原因はユーザーを追加していなかったからでした。自分のGoogleアカウントをユーザーとして追加したら解決しました。
PyDrive2インストール
以下コマンドでインストールできます。
$ python3 -m pip install --upgrade pip
$ python3 -m pip install PyDrive2
Google Driveへのアクセス
PyDrive2のサンプルコードを実行します。
from pydrive2.auth import GoogleAuth
from pydrive2.drive import GoogleDrive
gauth = GoogleAuth()
gauth.LocalWebserverAuth()
drive = GoogleDrive(gauth)
実行して、ブラウザが自動で開いて、Google Driveへのアクセスを許可する画面が出ます。
自分のユーザー名を選択すると、Google Driveにアクセスできるようになります。
具体的な操作
PyDrive2のドキュメントを見ていきましょう。
便利そうな操作があったらメモしていきます。
ルートディレクトリのファイル・ディレクトリを取得
以下コードで実現できます。
from pydrive2.auth import GoogleAuth
from pydrive2.drive import GoogleDrive
gauth = GoogleAuth()
gauth.LocalWebserverAuth()
drive = GoogleDrive(gauth)
file_list = drive.ListFile({'q': "'root' in parents and trashed=false"}).GetList()
for file1 in file_list:
print('title: %s, id: %s' % (file1['title'], file1['id']))
特定のディレクトリ以下のファイルをすべてダウンロード
以下記事が参考になります。ディレクトリのIDは、上記の「ルートディレクトリのファイル・ディレクトリを取得」で取得しましょう。
まとめ
Google Driveを自由自在!と思ったのですが、自分がやりたかった狙ったファイルをダウンロードするという用途にはあんまり適していないかも…どうしたものか。
参考リンク
変更履歴
- 2022/02/06 操作に関して追記
Discussion