概要
Google Drive上で共有しているファイルを外部からダウンロードする必要がありました。下記にあるような先人の方々の情報を見るとダウンロードするために若干の手続きが必要で、毎回手動で行うには少し面倒と感じたことと、ダウンロード時にファイル名の取得も同時にできればと思い、CLIツールとして作成しました。自分用として作成したため機能は非常にシンプルです。Google Drive上でファイルを共有したときに表示されるURLを与えて、ダウンロードし、ファイルとして保存するだけです。共有ファイルのダウンロードのため、アクセストークンは不要です。1GBのファイルサイズでテストを行いダウンロードすることができましたが、それ以上については未確認です。プロジェクトファイル以外であれば共有されているファイルはダウンロードすることが可能でした。(今のところプロジェクトファイル以外でダウンロードできないファイルは認められません。)アクセストークンを使用すると、共有されたプロジェクトファイルもダウロードすることが可能ですが、このツールではできません。
参考
- Direct download from Google Drive using Google Drive API
- wget/curl large file from google drive
- Create Direct Links to your Files on Google Drive
- GoogleDriveからcurlでダウンロードする
- curlやwgetで公開済みGoogle Driveデータをダウンロードする
インストール方法
go getあるいはこちらからダウンロードして使用してください。
$ go get -u github.com/tanaikech/goodls
使い方
下記のデモンストレーションをご覧ください。基本はURLを与えるだけです。
$ goodls -u [URL of shared file on Google Drive]
オプションは2つです。
-
-e
: ここに拡張子を与えるとGoogleDocsをダウンロードする際にファイル形式を選択することができます。 -
-f
: ここにファイル名を与えると、好きなファイル名で保存することができます。
また、$ cat sample.txt | goodls
や$ goodls < sample.txt
のような使い方も可能です。sample.txt内は1行ごとに個々のURLを配置してください。この機能はGitHubへ公開した際に要望があり付加しました。
詳細はGitHubをご覧ください。
この情報が何かのお役に立てましたら幸いです。