サーバを使用しているとき、Google Driveにサーバから直接アクセスしたいことがある。gdriveを使用した方法を説明する。
Goのインストトール
gdriveはgoで書かれているためGoをインストールする。詳しくはこちらが参考になる。Getting Started – The Go Programming Language 例えば、
wget https://golang.org/dl/go1.15.linux-amd64.tar.gz
tar -C ./ -xzf go1.15.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
gdriveのインストール
こちらのgithubページが参考になる。https://github.com/prasmussen/gdrive
go get github.com/prasmussen/gdrive
- $GOPATH/binのパスを通す
export PATH=$PATH:/path/to/go/bin
gdrive version
でバージョン情報が出力されればOK.
Google Driveの認証
gdrive listから認証しようとすると「このアプリでは「Google でログイン」機能が一時的に無効」とエラーが出る。解決方法はこちらが参考になる。https://github.com/prasmussen/gdrive/issues/546#issuecomment-626208303
gdrive list
でファイルの一覧が表示されれば成功。
gdriveでよく使うコマンド
- ファイルのダウンロード:
$ gdrive download file_id
- ディレクトリのダウンロード:
$ gdrive download --recursive directory_id
- ディレクトリのファイルリスト:
$ gdrive list --query " 'IdOfTheParentFolder' in parents"
- ファイルのアップロード:
$ gdrive upload -p IdOfTheParentFolder filePath
参考
こちらも参考にしました。
Comments