rcloneコマンドでDropboxを操作してみよう
手順としては以下のとおり。
- Dropbox APIの有効化
- 設定ファイルの作成
- rcloneで遊ぼう =)
前回のrcloneコマンドでGoogle Driveを使うとほぼ同様の流れになります。認証はOAuthでした。
Dropbox Core APIの有効化
Dropboxを操作するためのAPIの有効化を行います。
App Console - Dropboxから作成します。テストですので権限は多めに取りました。用途に応じて権限は絞り込むべきかと思うのですが、まずは動作するのを確認したいのでフルアクセス権にしています。
- 『Create app』を選択
- APIの種類を聞いてくるので『Dropbox API app』を選択
- 『Can your app be limited to its own folder?』と聞いてくるので『No』を選択
- 『What type of files does your app need access to?』と聞いてくるので『All file types』を選択
- 『Provide an app name, and you're on your way. 』とアプリ名を聞いてくるので、今回は『rclone test service』としました
- 『Terms of Services』をひと通り目を通して問題なければチェックを有効にします
- 『Create app』を選択
設定ファイルの作成 (Dropbox)
Dropbox用の設定ファイルを作成します。
上記で作成したApp keyとApp secretを使用します。OAuth認証はブラウザを使用します。
rclone configの指示に従って設定ファイルを作成していきます。
- Dropbox - rclone
C:\tmp>rclone config [Enter]
Current remotes:
Name Type
==== ====
conoha swift
conoha_old swift
gdrive drive
e) Edit existing remote
n) New remote
d) Delete remote
q) Quit config
e/n/d/q> n [Enter]
name> dropbox [Enter] (任意の名称でOK)
What type of source is it?
Choose a number from below
1) swift
2) s3
3) local
4) google cloud storage
5) dropbox
6) drive
type> 5 [Enter] (今回はdropboxなので5を選択)
Dropbox App Key - leave blank to use rclone's.
app_key> *************** [Enter] (App keyを入力)
Dropbox App Secret - leave blank to use rclone's.
app_secret> *************** [Enter] (App secretを入力)
Remote config
Please visit:
https://www.dropbox.com/1/oauth2/authorize?client_id=***************&response_type=code
Enter the code: (入力待ちのまま止まっています)
「Please visit:」の指示に従ってURLをコピーし、手持ちのブラウザで認証を行います。「Enter the code:」の入力の状態を保持しておいてください。
ブラウザで対象のDropboxユーザー(テスト用に作った方が無難です)にログインすると、認証を求めてきます。
先ほど入力した「rclone test service」が表示されてますね。
問題なければ『許可』を選択してください。
認証コードが表示されます。このコードを『Enter the code:』に入力します。
Enter the code: ******************************************* [Enter]
--------------------
[dropbox]
app_key = ***************
app_secret = ***************
token = ****************************************************************
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y [Enter]
Current remotes:
Name Type
==== ====
conoha swift
conoha_old swift
dropbox dropbox
gdrive drive
e) Edit existing remote
n) New remote
d) Delete remote
q) Quit config
e/n/d/q> q [Enter]
これで作業は終了です。
許可したアクセス権は取り消すことが出来ます。許可したアカウントの『設定』→『セキュリティ』の下の方にアプリ名が登録されているので、テストが終わったら削除しましょう。
rcloneコマンドで遊ぼう =)
注意:
Dropboxは、ObjectStorage Swiftと異なりrootディレクトリ(入力例:dropbox:)から操作できます。うっかりroot指定で同期(sync)すると、既に存在しているrootのファイルをマルっと削除されます。仕様上、問題はないのですがウッカリ度が非常に高いです。しばらくは同期ではなくコピー(copy)を使ったほうがいいかもしれません。
この怖さを体感するまでは、テスト用のアカウントで動作確認をすることをオススメします。
ローカル → リモート(Dropbox)
入力例
ローカルにある「tdnet_test」ディレクトリを、Dropboxの「tdnet」フォルダに同期します。リモートにフォルダーがない場合でも、自動的に作成してくれます。便利。
ローカルにある「tdnet_test」ディレクトリを、Dropboxの「tdnet」フォルダに同期します。リモートにフォルダーがない場合でも、自動的に作成してくれます。便利。
C:\tmp>rclone sync tdnet_test dropbox:tdnet
2015/07/20 22:16:33 Dropbox root 'tdnet': Building file list
2015/07/20 22:16:33 Dropbox root 'tdnet': Waiting for checks to finish
2015/07/20 22:16:33 Dropbox root 'tdnet': Waiting for transfers to finish
2015/07/20 22:17:33
Transferred: 3732570 Bytes ( 59.99 kByte/s)
Errors: 0
Checks: 0
Transferred: 2
Elapsed time: 1m0.7636738s
Transferring: 140120150602400929.pdf
2015/07/20 22:18:31 Waiting for deletions to finish
Transferred: 6202763 Bytes ( 50.99 kByte/s)
Errors: 0
Checks: 0
Transferred: 3
Elapsed time: 1m58.8059936s
出来てますね。
「このとも」始めました!
紹介用URLから登録すると、もれなく1000円分のクーポンが貰えるはずです。ぜひこの制度、活用してみてくださいね。私にとっても悪く無い話らしいんですよ =)
0 件のコメント:
コメントを投稿