LoginSignup
23
24

More than 5 years have passed since last update.

DropBox Core APIをPythonで使ってみる

Last updated at Posted at 2014-10-13

一眼で撮った写真の保存場所をDropBoxに変えたので、プログラムでファイルアップロードを一気にやったり、ファイル一覧を取得してファイルが全部上がったかを確認したりしたかったので、DropBox APIを使ってみました。

付いていたサンプルコードを動かしてみたけど、このサンプルコードをちょっといじるだけで、やろうとしてた事がいろいろ出来る気が・・・・。

とりあえず、今回はDropBox APIのインストールと、サンプルコードの動かし方メモ。

環境

OS:Mac OS X 10.9.5
Python:Ver.2.7.7
DropBox Core API:Version 2.2.0

サンプルアプリを動かすための事前準備

DropBox APIを使うためには App keyApp secretを手に入れる必要があります。
1.WebブラウザからDropBoxにログイン
2.画面の下にある「・・・」ボタンを開き「デベロッパー向け」を押下
3.左メニューの「App Console」を押下
4.「Create App」を押下し、以降、必要事項を入力

  • サンプル(今回登録した値)

    • What type of app do you want to create?:Dropbox API app
    • What type of data does your app need to store on Dropbox?:Files and datastores
    • Can your app be limited to its own folder?:YES
    • What type of files does your app need access to?:All file types
    • Provide an app name, and you're on your way.:アプリ名

5.一番下の「Create App」を押下して登録

App keyApp secretが手に入ります。

DropBox APIのインストール

Pythonの仮想環境を構築できるvirtualenvを使ってみるで試した、virtualenvを使ってDropBox用の仮想環境を作ります。

1.プロジェクトのディレクトリを作成

$ mkdir DropBoxAPI_Test

2.virtualenvコマンドを実行

$ virtualenv --no-site-packages DropBoxAPI_Test

3.仮想環境 起動

$ cd DropBoxAPI_Test
$ source bin/activate

4.DropBox APIをインストール

$ pip install dropbox

DropBox APIが使える環境が完成しました。

サンプルアプリの実行

  1. Install Core API SDKsのPythonを選び、 Download Python SDKという所からPython用のSDKをダウンロードします。(現バージョン:dropbox-python-sdk-2.2.0.zip)
  2. ダウンロードしたdropbox-python-sdk-X.X.X.zipを展開
  3. cli_client.pyをさっき作ったDropBoxAPI_Testにコピー
  4. cli_client.pyを実行
(PythonTest)% python cli_client.py

5.以下のようなターミナル風の出力がされれば完了

[loaded OAuth 2 access token]
Dropbox>

その他

サンプルは実際のターミナルのような動きができます。

まずログインをしてAuthKeyを取得します。

Dropbox>login
1. Go to: https://www.dropbox.com/1/oauth2/authorize?response_type=code&client_id=XXXXXXXXXXXXXXXXX
2. Click "Allow" (you might have to log in first).
3. Copy the authorization code.
Enter the authorization code here:

 1.に書いてあるURLにブラウザからアクセスし、「許可」を押下するとコードが表示されます。表示されたコードを入力してエンターを押すと認証が完了します。

Enter the authorization code here:XXXXXXXXXXXXXXXX

認証が成功するとログは何も出ずにターミナルの状態になります。

Dropbox>

一覧取得

Dropbox>ls

ディレクトリ移動

Dropbox>cd ディレクトリ名

削除

Dropbox>rm ファイル名

mkdir、mvなど他にもいろいろ、このサンプルだけで簡単なファイル操作ができます。

23
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
24