Google Driveをコマンドラインで扱う-skicka編


これまで

gdrive(prasmussen/gdrive)を試していた。もうメンテナンスしてないので、skickaに変更(認証を通せなかった……)

skickaについては、ほとんど下記のすばらしい記事たちに書いてあります。屋上屋を重ねているようで恐縮……ですが、macOS Big Surでもやれた検証ということで……。

skickaのインストールから、コマンド例まで

goのインストール

  • ダウンロードして、インストール(*1)
  • $ go version でインストールされていることを確認

skickaのインストール

  • githubからインストール
    • $ go get github.com/google/skicka
  • パスを通す
    • $ export PATH=~/go/bin;$PATH
    • .bash_profileexport PATH="/Users/xxxxx/go/bin:$PATH"追加
  • 初期化ファイル作成
    • $ skicka init

認証を通す

  • 下記でURLを取り、ブラウザに入力するが「Google でログイン機能が一時的に無効」と出てくる
    • $ skicka -no-browser-auth df
  • Client ID と Client Secret を取得 (*2)
    • ~/.skicka.configを編集
    • 該当行のコメント(;)を外すのを忘れててハマった!
  • たとえば$ skicka lsとすると、ブラウザでアプリ認証がはじまる(1回だけ)

コマンドラインで操作

ファイルリスト(ls)、最初は時間がかかった(1回だけ?)

$ skicka ls
skicka: attempting to launch browser to authorize.
(Re-run skicka with the -no-browser-auth option to authorize directly.)
Updating metadata cache: [========================================] 100.00% 4m4s
<ここに表示される>

フォルダサイズを調べる

$ skicka du /xxx/yyy/

アップロードとダウンロード

$ skika upload(download) /xxx/yyy/ ./zzz/

気づいたこと

  • 下記はさきにパースしてから、ダウンロードを開始してくれる(便利だ!)
    • ファイル名が同じものはスキップされる
      • Google Driveでは同じフォルダに同じファイル名のものが存在できるから
    • Google Appsファイルはスキップされる
    • ファイル名(フォルダ名)に/が入っているものはスキップされる(そんなファイルはないと言われる)

参考サイト

環境

skicka committed on 17 Jun
go version go1.15.6 darwin/amd64
macOS BigSur バージョン 11.0.1(20B50)
MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)