[Raspberry Pi]Dropboxをコマンドラインから操作する

RSPi_in_dropbox

DropboxにはARM版クライアントがないのでRaspberry Piではクラウドストレージとの同期ができません。そこで発見したのがDropbox-Uploaderというコマンドラインでアップロード、ダウンロード等を操作するシェルスクリプト。今のところ自分の用途では十分なレベルです。

andreafabrizi/Dropbox-Uploader · GitHub
https://github.com/andreafabrizi/Dropbox-Uploader

Dropbox-Uploaderのダウンロード

[root@alarmpi ~]# git clone https://github.com/andreafabrizi/Dropbox-Uploader.git
Cloning into ‘Dropbox-Uploader’…
remote: Counting objects: 151, done.
remote: Compressing objects: 100% (114/114), done.
remote: Total 151 (delta 52), reused 135 (delta 36)
Receiving objects: 100% (151/151), 35.87 KiB, done.
Resolving deltas: 100% (52/52), done.
[root@alarmpi ~]# cd Dropbox-Uploader/
[root@alarmpi Dropbox-Uploader]# chmod 755 dropbox_uploader.sh

Dropbox-Uploaderの初期設定

次に初期設定を行います。Dropboxとの接続についてDroboxアカウントにログインしてRaspberry Piとの接続を承認する必要があります。

[root@alarmpi Dropbox-Uploader]# ./dropbox_uploader.sh
This is the first time you run this script.
Please open this URL from your Browser, and access using your account:

-> https://www2.dropbox.com/developers/apps

If you haven’t already done, click “Create an App” and fill in the
form with the following data:

App name: MyUploader89714720
Description: What do you want…
Access level: App folder or Full Dropbox

Now, click on the “Create” button.

When your new App is successfully created, please type the
App Key, App Secret and the Access level:

ここからはからDropboxへの接続に必要なApp KeyApp secretを取得する操作です。母艦PCのブラウザから以下のDropbox開発者用サイトにログインします。

Developers – Dropbox
https://www.dropbox.com/developers/apply?cont=/developers/apps

Create an appをクリック。上記で指定されたアプリ名称と適当な概要を記入してアクセスタイプを選択して登録します。この情報はこのサイトにアクセスすればいつでも確認できます。

dropbox-dev

# App key: XXXXXXXXXXXXXX
# App secret: YYYYYYYYYYYYYYYY
# Access level you have chosen, App folder or Full Dropbox [a/f]: f

最終確認を促されますので、間違いなければ y を入力します。

> App key is XXXXXXXXXXXXXXX, App secret is YYYYYYYYYYYYYYYY and Access level is Full Dropbox, it’s ok? [y/n]y

> Token request… OK

Please visit this URL from your Browser, and allow Dropbox Uploader
to access your DropBox account:

–> https://www2.dropbox.com/1/oauth/authorize?oauth_token=ZZZZZZZZZZZZZZZ

Press enter when done…

ブラウザから上記のトークン入りURLにアクセスして接続を許可します。

dropbox-oauth

Raspberry Piに戻り、適当なキーを入力して初期設定が完了です。

> Access Token request… OK

Setup completed!

テストで適当なファイルをDropboxへアップロードしてみます。

dropbox_uploader_demo

Dropbox-Uploaderの使い方

リアルタイム同期以外は全部(?)できるように思います。詳細はReadmeにて解説されています。

# ./dropbox_uploader.sh COMMAND [PARAMETERS]…

Commands:
upload [LOCAL_FILE] <REMOTE_FILE>
download [REMOTE_FILE] <LOCAL_FILE>
delete [REMOTE_FILE/REMOTE_DIRECTORY]
mkdir [REMOTE_DIRECTORY]
list <REMOTE_DIRECTORY>
share [REMOTE_FILE]
info
unlink

Macを経由してフォルダ同期する方法

いろいろ探してみて他の方法もあるようですが、Raspberry Piだけでは完結しないので見送ることにしました。

Raspberry Kiosk – 05 – Sharing a folder between Raspberry and Mac
http://pikiosk.tumblr.com/post/39853365308/raspberry-dropbox-sftp-mac