0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Google Drive からCLIでファイルダウンロードを行えるようにしたい

Posted at

目的

Linuxからブラウザでアクセスすることなく,Google Drive上のプライベートファイルをダウンロードしてきたい.

概要

Google DriveのAPIとGdriveというものを使って,コンソールからコマンドでファイルを自由にダウンロードできるようにする.

手法

1. Google APIの設定

  1. Google Cloud Console(https://console.cloud.google.com/)にアクセス

  2. 「プロジェクトを作成または選択」からプロジェクトを作成する

    image.png

  3. 右上の新しいプロジェクトを選択

    image.png

  4. プロジェクト名と必要であれば場所を追加し,作成

  5. プロジェクトを作成という通知が表示されたらOK

    image.png

  6. 「プロジェクトを選択」からダッシュボードを開く

  7. 検索欄にdrive apiと検索し,「Google Drive API」を選択

    image.png

  8. Google Drive APIを有効化

    image.png

  9. 画面がこうなっていたらOK

    image.png

  10. 「認証情報」を開き,「同意画面を構成」をクリック

    image.png

  11. 「開始」をクリック

    image.png

  12. アプリ情報を記入

    image.png

  13. 対象は「外部」を選択

    image.png

  14. 連絡先情報を記入し,ポリシーに同意して続行

    image.png

  15. 「作成」を選択

  16. OAuth クライアントを作成を選択

    image.png

  17. アプリケーションの種類はデスクトップアプリを選択(名前はご自由に)

    image.png

  18. このような表示が出たら下部にある「JSONをダウンロード」をクリック

    image.png

    image.png

  19. 閉じるとクライアントの欄に以下のように表示される

    image.png

  20. 「データアクセス」を選択

    image.png

  21. 「スコープを追加または削除」を選択し,「フィルタ」に「Google Drive API」と入力して適切なAPIを選択
    例)ファイルのダウンロードをしたい場合⇒…/auth/drive.readonly
      メタデータを取得したい場合⇒…/auth/drive.metadata.readonly

    image.png

  22. スコープが追加されていることを確認して「Save」

    image.png

  23. 「対象」を選択し.テストユーザーの「+Add users」から「gdrive」を使用するメールアドレスを追加

    image.png

  24. 個人的に使うだけなら公開の必要はなし

2. gdriveのインストール

  1. Githubからwgetコマンドを使用して,gdriveの最新版をダウンロード
    https://github.com/glotlabs/gdrive/releases

    $ wget https://github.com/glotlabs/gdrive/releases/download/3.9.1/gdrive_linux-x64.tar.gz
    
  2. tarコマンドを使用してアーカイブを解凍

    $ tar -xzf gdrive_linux-x64.tar.gz
    
  3. 解凍されたgdriveバイナリを/usr/local/bin/ディレクトリに移動し,実行可能に

    $ sudo mv gdrive /usr/local/bin/
    $ sudo chmod +x /usr/local/bin/gdrive
    

4.インストールが正しく行われたことを確認
$ gdrive version gdrive 3.9.1 Commit: unknown Rust: 1.75.0 Arch: x86_64 OS: linux
5. google driveアカウントの設定
google driveアカウントをgdriveに追加する.
$ gdrive account add
実行すると、クライアントIDとクライアントシークレットを求められる.
Client ID: xxxxxx.apps.googleusercontent.com Client secret: xxxxxxxx
6. URLを開き,認証
以下のようなURLを開き,指示に従ってGoogleアカウントへのアクセスを許可
Gdrive requires permissions to manage your files on Google Drive. Open the url in your browser and follow the instructions: https://accounts.google.com/xxxxxxxxx
認証が完了すると,CLIに戻り,google driveへのアクセスが設定されます.

gdriveの基本操作

  • マイドライブのファイルリストを取得(デフォルト最大30個まで)
    $ gdrive files list
    
  • ファイルのダウンロード
    gdrive files download <FILE_ID>
    
  • ディレクトリごとダウンロード
    gdrive files download --recursive <FILE_ID>
    
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?