コマンドラインでGoogle Driveを操作する(Google Client編)


RaspberryのコマンドラインからGoogle Driveを操作する3番目の方法としてGoogle本家の「Google Client」を紹介します。
本家の製品ですが、バグが放置されているなど、前回紹介した「Drive」に比べ出来がいまひとつです。

「Google Client」は以下のページで紹介されています。
コマンドライ ンでGoogleDriveにアップロードする

Raspberryにインストールする場合は、ここから gdata-2.0.18.tar.gz(あるいは最新版)をダウンロードし
事前にインストールする必要があります。

$ tar xvf gdata-2.0.18.tar.gz
$ cd gdata-2.0.18/
$ sudo python setup.py install
$ tar xvf googlecl-0.9.14.tar.gz
$ cd googlecl-0.9.14
$ sudo python setup.py install

まずはgoogleに認証を行います。

$ google docs list
Please specify user: Googleのアカウント名
Could not get default browser: could not locate runnable browser
Please log in and/or grant access at https://www.google.com/accounts/XXXXXXXXXXXXXXXXXXXXXXXXX

Please enter the verification code on the success page:

ここでブラウザーから上記のURLを指定し、「許可のリクエスト」ページが表示されたら「認証する」を押します。
「このコードをコピーし、アプリケーションに切り替え て貼り付けてください」と表示されるのでコードをコピーしてRaspberry上にペースト。

ファイルのアップロードは以下の手順で行いますが、サポートされていない拡張子のファイルは、クラウド上では拡張子が無くなります。
また、使 用例を見ると、「--folfer="フォルダー名"」で、アップロードするフォルダーを指定できる仕様ですが、このバグが放置され ていて、
堂々と「Also note that --folder is currently broken; uploads all happen to the root folder」って書いてあります。(う〜〜ん!!)

$ google docs upload /tmp/sample.jpg
No supported filetype found for extension jpg
Loading /tmp/sample.jpg
Upload success! Direct link: https://docs.google.com/document/d/1qmw35FGUfZbMy86NRmubYWxAfY98yZSmIRWgj8gc_2I/edit?usp=docslist_api

もう一度同じ操作をすると、クラウド上に同じ名前の別のオブジェクトが作られます。
この仕様はGoogle Cromeの「アプリ→Googleドライブ」を使ったときと同じ仕様です。

$ google docs upload /tmp/sample.jpg
No supported filetype found for extension jpg
Loading /tmp/sample.jpg
Upload success! Direct link: https://docs.google.com/document/d/1hm2w4XF23ytFXTbPsLMfaXA_8gNiGuwb1HPk5IaOWfY/edit?usp=docslist_api

$ google docs list
sample,https://docs.google.com/document/d/1hm2w4XF23ytFXTbPsLMfaXA_8gNiGuwb1HPk5IaOWfY/edit?usp=docslist_api
sample,https://docs.google.com/document/d/1qmw35FGUfZbMy86NRmubYWxAfY98yZSmIRWgj8gc_2I/edit?usp=docslist_api

ファイルのダウンロードは以下の手順で行います。

$ google docs get sample ./
Downloading sample to ./sample.txt
Downloading sample to ./sample.txt

なぜか格調子が「.txt」でダウンロードされます。
Googleドライブはブラウザ上で文書・表計算・プレゼンテーションなどのファイル作成や編集、共有することが目的のクラウドなので
サポートされていない拡張子(jpg)のファイルのアップロード/ダウンロードは想定外の使い方なのかもしれません。