nyanpyou Note

主な目的は調べたり作ったりしたプログラミング備忘録(予定)

Raspberry Pi 4でGoogleドライブを使いたい話

Raspberry Pi 4でGoogleドライブが使えるようにしたかったが、ちょっと難航したという話。
まず参考にしたのは以下のサイト

qiita.com

binディレクトリを作成し、githubからgdriveをダウンロードした。
その後、

chmod +x gdrive

で実行権限を付与し、初期設定のために必要だと書いてある

gdrive about

を実行しようとしたが、コマンドが見つかりませんと言われて、まずここで詰まる。これは別のサイトを参考にすることで抜けた。

takuya-1st.hatenablog.jp どうやらaliasコマンドを使って、gdriveというコマンドを新しく作って、ダウンロードしたファイルを紐づけないとだめらしい。windowsでいうパスが通ってない状況なんだろうが、慣れてないOSだとそれに気づくのも一苦労。aliasコマンドについて調べてみると、ターミナルを閉じたり、ログアウトやシャットダウンすることでリセットされてしまうらしく、永続的に登録したければ別の手順が必要らしい。

コマンドを実行すると、

Authentication needed
Go to the following url in your browser:
https://~~~~~
Authentication needed
Enter verification code:

と表示が出た。参考記事に書いてある認証のステップに入ったらしい。URLをコピーしてGoogleアカウントを入力。画面を進めていけば認証できるのだろうと思ったが、残念なことにそんな都合良くはいかなかった。
本来ならば認証コードが出るだろう段階でまさかの「このアプリではGoogleでログイン機能が一時的に無効」の表示。

f:id:nyanpyou106:20200124145910p:plain
oh…
同じ状況で困っている人がいないか調べるため、githubのgdriveのページに行き、Issuesのタブを覗いてみると、嬉しいのか嬉しくないのか同じ状況の投稿が数件見つかった。読んでみると、どうやらここ1か月くらいでお亡くなりになったっぽい…。スレッドを読んでいくと、この状況でも動けるようにしました!と記事を公開している人や、同じように動作するrcloneを使うといいよ!とお勧めしている人がいた。どれを使おうか迷ったが、rcloneを使うことにした。調べた時に記事がたくさん出てくるものを選んだ方が安心感がある。先人達の経験に頼ろう。 rcloneの導入の際に参考にしたのは以下の記事

irukanobox.blogspot.com

非常にわかりやすく丁寧に書かれていたため、途中で詰まることなく設定できた。

設定完了後、piディレクトリの下にtestディレクトリを作って、中に適当なaviファイルを投入し、同期テストを行った。

f:id:nyanpyou106:20200124163548p:plain
こいつがちゃんとアップロードできるか試す
まず、Googleドライブにもtestという名前のフォルダを作成する。その後piディレクトリで

ls

コマンドを実行して、確かにtestフォルダ内にtest.aviが存在していることを確認してから、

rclone sync test gdrive:test --dry-run

を実行した。すると

NOTICE: test.avi: Not copying as --dry-run

と表示された。この時点では確認のみで、まだ実際にコピーされていないため、今度は実際に同期させてみた。

rclone sync test googledrive:test

を実行した後、Googleドライブを確認すると、testフォルダ内にtest.aviがしっかりとアップロードされていることが確認できた。

これで晴れてRaspberry PiからGoogleドライブにファイルのアップロードが可能になった。今後はこれを使って、撮影した動画や画像を自動的にGoogleドライブにアップロードする仕組みの作成を予定中。