GCP Python

【Python】Google Drive APIを使ってファイル一覧を取得する方法

この記事は約4分で読めます。

 

この記事では、Google Drive APIとPythonを使用してGoogle Driveのファイル一覧を取得する方法を解説します。

 

環境設定

 

ライブラリのインストール

 

まず、以下のコマンドで必要なパッケージをインストールします。

 

pip install --upgrade google-api-python-client
pip install google-auth
pip install google-auth-oauthlib
pip install google-auth-httplib2

 

 

認証情報の作成

 

Google Cloud Consoleで新しいプロジェクトを作成し、Drive APIを有効にして認証情報(credentials.json)をダウンロードします。

 

手順について下記の記事で解説しています。

関連記事:【GCP】GoogleCloudPlatformでプロジェクトを作成してAPI鍵の作成して有効化する

 

また合わせて下記のURLからGoogle driver API を有効化しておく必要があります

Google Cloud console
Spend smart, procure faster and retire committed Google Cloud spend with Google Cloud Marketplace. Browse the catalog of over 2000 SaaS, VMs, development stacks...

 

Google Drive APIを使用してファイルの一覧を取得する

 

以下は、PythonでGoogle Drive APIを使用してファイルの一覧を取得するサンプルコードです。

 

from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials
from httplib2 import Http

SCOPES = ['https://www.googleapis.com/auth/drive']

credentials = ServiceAccountCredentials.from_json_keyfile_name(
    r"C:\Users\oruka\~~~~~.json", SCOPES
)
http_auth = credentials.authorize(Http())
folder_id = "1nq06fIdgEV8Iq6FbXdf2rUdgWv9e7wCO"
drive_service = build('drive', 'v3', http=http_auth)

condition_list = [
    f"('{folder_id}' in parents)",
    "(name contains '.jpg')"
]
conditions = " and ".join(condition_list)

results = drive_service.files().list(
    q = conditions,
    fields = "nextPageToken, files(id, name)",
    pageSize = 100, 
).execute()
files = results.get('files', [])
print(files)

 

 

特定のフォルダ直下の画像ファイル一覧を取得する

 

また条件を指定してファイル一覧を抽出することができます

 

例えば「 “(name contains ‘.jpg’)”」という条件式を追加するとファイル名の末尾が「.jpg」のもののみを取得することができます

 

## 指定するフォルダID検索
folder_id ="1_SJL0LGjt91-I3My16r7nWnU9o_OE7VA"
    
condition_list = [
    f"('{folder_id}' in parents)",
     "(name contains '.jpg')"
]
conditions = " and ".join(condition_list)

results = drive_service.files().list(
    q = conditions,
    fields = "nextPageToken, files(id, name)",
    pageSize = 100, 
).execute()
print(results)

 

まとめ

 

この記事で説明した方法を使用すると、Google Drive APIとPythonを用いて簡単にGoogle Driveのファイル一覧を取得することができます。

 

関連記事:YoutubeのAPIを使って動画再生回数などをスクレイピングする

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

  1. […] 関連記事:【Python】Google Drive APIを使ってファイル一覧を取得する方法 […]

タイトルとURLをコピーしました