Site icon Mr. 沙先生

Dropbox API 用 bash 也可以上傳下載 Dropbox

最近在備份一些資料的時候,把腦筋動到 Dropbox 上面去,想要把一些比較一般的資料搬上去,在備份跟上傳 Dropbox 的部分,希望一氣呵成搞定他!

 

終於在 GitHub 上找到一個 Dropbox Uploader 的專案。

 

使用的是 Dropbox 提供的一個開發者 API,藉由 Dropbox 提供的驗證資訊以及唯一值 token 來進行登入,而且功能非常齊全!

 

Dropbox Uploader 設定

*** Dropbox 在 2017/09/28 停用 API v1,改用 API v2,在此篇文章已經更新至 API v2 的使用方式。

 

 

Step.1 下載 Dropbox-Upload 專案

$ yum install git
$ git clone https://github.com/andreafabrizi/Dropbox-Uploader.git

如果你不需要查看 git 修改歷史可以將 .git 刪除。

 

Step.2 編輯 dropbox_uploader.sh,修改待會產生的設定檔位置

$ mkdir /etc/dropbox
$ vim dropbox_uploader.sh

#!/bin/bash
CONFIG_FILE=/etc/dropbox/dropbox.conf

bash 宣告的部分預設是 #!/usr/bin/env bash,並不符合正常的 bash 環境,修改為自己的 bash 位置。

CONFIG_FILE 如果沒有修改,預設 dropbox 的登入參數會儲存到 ~/.dropbox_uploader

 

 

Step.3 開啟 Dropbox Developer API 權限

到 https://www.dropbox.com/developers/apps 登入 Dropbox,並且 Create App。

選擇 Dropbox API app → Yes → 你的 API 名稱 → Create app!

 

 

進到建立好的 Apps 紀錄以下待會會用到的資訊

Permission type , App key , App secret

Dropbox 全面改用 API v2,過去 App key / App secret 的方式已經停用,API v2 一樣在此頁面取得 access token

 

 

Step.4 執行 dropbox_uploader.sh,第一次執行會一步一步提示進行 dropbox 驗證

鍵入剛剛取得的 Access token

$ ./dropbox_uploader.sh
This is the first time you run this script.

 1) Open the following URL in your Browser, and log in using your account: https://www.dropbox.com/developers/apps
 2) Click on "Create App", then select "Dropbox API app"
 3) Now go on with the configuration, choosing the app permissions and access restrictions to your DropBox folder
 4) Enter the "App Name" that you prefer (e.g. MyUploader164903255416821)

 Now, click on the "Create App" button.

When your new App is successfully created, please click on the Generate button
 under the 'Generated access token' section, then copy and paste the new access token here:

 # Access token: xxxxxx

 > The access token is xxxxxxx Looks ok? [y/N]: y
 The configuration has been saved.

設定檔會建立在我們 step2 所設定的 /etc/dropbox/dropbox.conf 這個位置上,你可以用這個 token config 去進行任何 Dropbox 的動作。

 

 

Dropbox-Upload 使用

這邊舉例幾個常用的功能

 

下載檔案 remote.conf 到本機 /tmp

download <REMOTE_FILE/DIR> [LOCAL_FILE/DIR]

$ ./dropbox_uploader.sh download remote.conf /tmp

 

上傳檔案 remote.conf 到 Dropbox 的 /test

upload <LOCAL_FILE/DIR …> <REMOTE_FILE/DIR>

$ ./dropbox_uploader.sh upload remote.conf /test

 

刪除 Dropbox 上的檔案 remote.conf

delete <REMOTE_FILE/DIR>

$ ./dropbox_uploader.sh delete remote.conf

 

此外還支援 move , copy , mkdir , list , share , saveurl ,info , unlink 應有盡有

 

 

參考資料:

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

 

Exit mobile version