PythonでGoogle Driveを扱う
PyDrive2を使ってPythonからGoogle Driveを扱えるようにします。
PythonでGoogle Driveを扱う
PythonからGoogle Driveのファイルを扱えるといろいろと便利です。
例えばGoogle DriveのデータをPythonから読み込んできて編集した後上書きアップロードをしたりすることができます。
PyDrive2
今回はPythonでGoogle Driveを扱うためにPyDrive2を利用します。
基本的にクイックスタートの流れを行うと良いかと思います。
PyDrive2のインストール
pip install PyDrive2
と実行してインストールしてください。
Google Drive APIを有効化
まず前提としてGoogle Cloudでプロジェクトを作成してAPIを有効にする必要があります。
Google Cloud内でGoogle Drive APIと検索して有効にしてください。
認証情報を開き、認証情報を作成→OAuth クライアント IDを選択します。
同意画面を設定をクリックし、User Typeに外部を選択して作成してください。
アプリ情報などを入力して次へ進み、最後にダッシュボードに戻ってください。
アプリを公開してください。
メニューから認証情報を開き、認証情報を作成→OAuth クライアント IDを選択します。
アプリケーションの種類をウェブアプリケーションに、適切な名前を入力、承認済みリダイレクトURIに”http://localhost:8080/”を入力して作成してください。
作成したクライアントIDの右側にあるボタンからJSONをダウンロードしてください。
ダウンロードしたファイルのファイル名を”client_secrets.json”に変更し、作業用ディレクトリに移動してください。
settings.yamlの作成
ログイン情報を保存し、今後のログインを不要にするためにsettings.yamlを作成します。
settings.yamlというファイルを作成し、
client_config_backend: file
client_config_file: client_secrets.json
save_credentials: True
save_credentials_backend: file
save_credentials_file: credentials.json
get_refresh_token: True
oauth_scope:
- https://www.googleapis.com/auth/drive.file
- https://www.googleapis.com/auth/drive.install
- https://www.googleapis.com/auth/drive.metadata
と記述して作業用ディレクトリに保存してください。
その後、
from pydrive2.auth import GoogleAuth
gauth = GoogleAuth()
gauth.LocalWebserverAuth() # Creates local webserver and auto handles authentication.
とPythonを作成して実行するとブラウザが立ち上がるので、利用するGoogleアカウントでログインし、権限を与えてください。
credentials.jsonが生成され、今後は認証不要で利用可能になります。
コード
from pydrive2.auth import GoogleAuth
gauth = GoogleAuth()
gauth.LocalWebserverAuth()
from pydrive2.drive import GoogleDrive
drive = GoogleDrive(gauth)
file1 = drive.CreateFile({'title': 'Hello.txt'})
file1.SetContentString('Hello World!')
file1.Upload()
とPythonを作成して実行し、Google DriveにテキストがアップロードされればOKです。
PyDrive2を利用するとファイルのダウンロード・アップロード以外にも様々な操作ができます。
-
前の記事
PythonでCSVを扱う 2023.01.26
-
次の記事
au PAYを対象加盟店のオンラインサイトで1000円以上利用すると抽選で最大10000Pontaポイント付与 2023年2月7日まで 2023.01.28