より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

Googleドライブへのアップロード・ダウンロードに「Google Drive CLI Client」

Google Drive CLI Clientは、コマンドラインGoogleドライブへのアップロード・ダウンロードを行うことができます。

CIなどのバッチ処理Google Driveとの連携を行うのにうってつけのツールです。

github.com

Macだったら以下のコマンドで一発です。

brew install gdrive

大まかな私の使い方

使い方はusageを参考にしてもらえれば良いと思います。

パッと、これだという使い方をピックアップしていきたいと思います。

まずはドライブの一覧表示

アップロード・ダウンロードをする前に自分のアカウントを覚えさせる必要があります。

ウォームアップもかねて、ドライブの一覧表示を呼び出しましょう。

gdrive list

初期では「enter verification code」と表示されます。

URLをコピペして認証して、表示されるコードを入力します。

f:id:rimever:20191007220325p:plain

アップロード

基本は以下です。

gdrive upload {filename}

一般に使う場合はマイドライブにとりあえず放り込んでおくというより特定のフォルダにアップロードするということが多いと思います。

gdrive upload -p {gdrive-folder-id} {filename}

-pオプションでGoogleドライブのフォルダのIDを指定してください。

GoogldドライブのフォルダのIDはURLを参照すればわかります。

共有可能なリンクを取得して、以下のようなURLになってますので、そこからわかります。

https://drive.google.com/open?id={gdrive-folder-id}

フォルダをアップロードする場合は-rも指定してフォルダ内も再帰的にアップロードするようにします。

gdrive upload -p {gdrive-folder-id} -r {directoryname}

ダウンロード

ダウンロードは以下です。Googleドライブ上でのファイルのIDを指定してください。

gdrive download {gdrive-file-id}

フォルダは以下のようにダウンロードします。

gdrive download -r {gdrive-folder-id}

ポイントとしてはzip圧縮されず、そのままの形でダウンロードされます。

ブラウザでフォルダをダウンロードするとzip圧縮されてダウンロードされるのですが、そのせいかzip圧縮する時間もあって遅い(と私は感じてます)です。

なので、こちらを使った方が良いのではないでしょうか。

玄人が使いこなす?gdrive list --query

特定の文字列が含まれた名前のデータを検索するのが以下のコマンドです。

gdrive list --query "name contains '{name}'"

f:id:rimever:20191009215939p:plain

全文検索は以下コマンドです。

gdrive list --query "fullText contains '{word}'"

詳しいことは以下を参照すれば良いようです。

developers.google.com