【Python】Pydrive2.0でGoogleDriveにアクセスする方法

こんにちは!

PythonでGoogleドライブを操作するために使われるライブラリ、Pydrive2の使い方をまとめていきたいと思います。

公式のドキュメントGitHubを参照にしているので、詳しく知りたい方はそちらをご覧ください。

【開発環境】

  • WSL2 (Window でLinuxを使えるサービス)
  • Ubuntu 20.04
  • Python3.8.0

そもそもPydriveって???

PydriveはGoogleが公式で出している、DriveAPI V2というDriveをプログラムから操作するためのAPIを使いやすくしてくれるツールです。

正式には、ラッパー(wrapper)といいます。なお、Drive API V2は最新版ではありません。最新版はv4になってます。基本的な機能はそろっているので困ることはあんまりないかもしれませんが、、、アップデートしてくれたらいいのにな、とは思います💦

Pydriveのインストール

お使いのコマンドラインツールで、pydriveをインストールします。

pip install Pydrive2

Google Cloud Platformでプロジェクトの設定

Google Cloud Platformでプロジェクトの設定をします。

  1. まずは、アカウントを作る
  2. アカウントを作ったら、コンソール画面に行き、新しいプロジェクトを作る。
  3. プロジェクトを作ったら、サイドメニュー>APIとサービス>ライブラリを選択し、Google Drive APIを有効化する
  4. 再び、サイドメニュー>APIとサービスを開き、今度は「OAuth同意画面」を選択
  5. ユーザーの種類は「内部」に設定、テストユーザーに使用するGoogleアカウントのアドレスを追加
  6. 再び、サイドメニュー>APIとサービスを開き、今度は「認証情報」を選択
  7. アプリケーションの種類は「ウェブアプリケーション」に設定、アプリ名は任意に名前を入力、承諾済みのリダイレクトURIに「http://localhost:8080/」を入力し、作成をクリックします。
  8. 「OAuthクライアントを作成しました」という画面が出るので、「JSONをダウンロード」をクリック
  9. ダウンロードしたファイル名を「client_secret.json」に変更し、プロジェクト直下のディレクトリにファイルを移動

これにて準備は完了です!

Driveにファイルを作成する

client_secrets.jsonを保存したフォルダで、以下のようなスクリプトを作ります。

from pydrive2.auth import GoogleAuth

# 認証
gauth = GoogleAuth()
gauth.LocalWebserverAuth()

# ファイル作成
from pydrive2.drive import GoogleDrive

drive = GoogleDrive(gauth)

file1 = drive.CreateFile({'title': 'Pydrive Test.txt'})
file1.Upload()

コマンドラインからプログラムを実行しましょう。

python3 <ファイル名>

するとブラウザが開いて認証を求められます。途中「このアプリはGoogleで確認されていません」と警告が出るのですが、気にせずに続行を押しましょう。

create drive file with pydrive

マイドライブ上にファイルが作成されているのが分かると思います!

これにて作業は終了です!お疲れさまでした!

 

認証が終わったら、あとは、ドキュメントを見ながら、やりたい操作を実装していくだけになります。その辺りについても、また書いていきたいと思いますので、よろしくお願いします!

最新情報をチェックしよう!