1.概要 – Pythonで始めるDropboxAPI

 DropboxAPIがVersion1になったことですので、python・flaskのまとめも兼ねて書いてみます。
 PythonでDropboxAPIを使ってフォルダ中のファイル一覧を表示するウェブアプリを作る、ということを通して、必要な情報のまとめを行っていこうと思っています。

もくじ

1.概要 <ー今回はコレ
 今回書くことについての説明をします。
2.DropboxAPIについて
 DropboxAPIがどんなものか、どういう仕組みで動いているのかについて説明します。
3.DropboxAPIを使う準備をする
 pythonからDropboxAPIを使うために必要な環境の準備をします。
4.サンプルプログラムを作る
 3で作成した環境を使ってサンプルプログラムを作ります。
5.flaskを使ってウェブアプリを作成
 ウェブフレームワークのflaskを使ってウェブアプリを作る練習をします。
6.Dropboxのフォルダ一覧を作る
 flaskを利用して、Dropboxのフォルダ一覧を表示するウェブアプリを作ります。
7.dotcloudで公開する
 PaaSのdotcloudを使い、6で作ったウェブアプリをデプロイすることでみんなに見てもらえるようにします。
8.参考
 参考にしたURLなど。

本記事のソースはGitHubにあります。


1. 概要

1-1. 何を作って何をするのか

 まず、何を作るのか、ということですが以下の内容を予定しています。

  • pythonを使い、
  • DropboxのWebAPIを使い、
  • Flask(ウェブフレームワーク)を使い、
  • Dropboxの特定のフォルダにあるファイルの一覧を出力するウェブページを作る
  • 公開するためにdotcloudにデプロイする

できあがりはこんなのを予定しています。

indexページ:http://host/

フォルダ中のファイル一覧:http://host/list

ファイルのアップロード:http://host/upload

ファイルのアップロード後のリスト:http://host/list

 作ったウェブアプリは大層役に立たないものですが、WebAPIを使うということ自体は、twitterでもfacebookでも同じようなものですので、何かの役にたつのではないかと思います。

1-2. なぜDropboxAPIなのか

 Dropboxが好きだからー。
 というわけではなく、旭川オープンソースコミュニティの勉強会でオンラインストレージ(Dropbox)についての話と、RESTについての話があったので、それらを含む形でネタにできるものを考えてみようかなぁ、ということでDropboxAPIを使ったpythonのウェブアプリをテーマにしました。

1-3. Dropboxとは

 Dropbox(ドロップボックス)とは、オンラインストレージサービスのひとつです。同様のサービスにSugarSyncやWindowsLiveSkyDriveなどがあります。

 オンラインストレージとは、その名の通りオンライン(ウェブ上)のストレージです。
 普通であれば、パソコンに入っているハードディスクにファイルを保存しますが、オンラインストレージでは、オンライン上のサーバーにファイルを保存します。

 ファイルのやり取りは通常ウェブブラウザを通して行います。オンラインのサーバー上のファイルの一覧、ファイルのダウンロード、ローカルファイルのアップロードなどはブラウザから簡単に行うことができます。
 Dropboxではそれに加えて、OSのファイル管理ソフトと連携して、特定のフォルダにファイルを保存するだけでDropbox側にも同じファイルが保存されます。もちろん保存されたファイルはブラウザ側から操作することもできます。

 ちなみに、今回の話とは全然関係ないですが自分は割とDropboxを気に入っています。

  • 自分のPCのフォルダと同期すること。この方式だとオンラインストレージと言いつつ、ローカルディスクを使うのが難点ですが、ローカルな分レスポンスが良くてイライラしない。
  • ローカルにファイルを持つのでバックアップになる。履歴も管理してくれているので少し安心。
  • Windows、Linux、Macを使っているので、全てにクライアントがあって便利
  • スマートフォンでも使える。

 もしまだ使ったことがなければ、是非とも使ってみることをおすすめします。
  =>Dropbox(ドロップボックス)

次回

 というわけで、今回はDropboxの説明だけで終わりです。
 全部書いたら長かったので分割しただけですが、まぁ、たまにはこんなのでもいいでしょう。
 次回は2.DropboxAPIについてです。