« DelphiでWindows Live(SkyDrive)・・・(5) | トップページ | SSD/HDDのベンチマーク »

2014年8月31日 (日)

DelphiでDropbox

Dropboxプロがパワーアップして、1TBで月額1200円になったので、HDDの肥やしとなっていた眠っていたコードをひっぱりだし、手直しと簡単なデモアプリを作ったのでDelphi用のDropboxライブラリを公開してみる。

DropboxライブラリをパクってWindows Liveライブラリを作ったので、動作環境はWindows Liveライブラリ と全く同じで、開発環境は2010で、Dropboxライブラリの動作環境はIE7以降が必要、デモアプリはVista以降と全く同じです・・

まずは、ダウンロードは

から。

主なユニットの構成も同じで、

  • Dropbox.pas
  • Dropbox.Client.pas
  • Dropbox.Protocol.Request.pas
  • Dropbox.Protocol.Response.pas

で、インターフェースベースで、スレッドセーフに作ってあります。Dropbox社によって標準でiOS, Java, Ruby, Pythonなどいつくかの言語・プラットフォーム用の開発キットが用意されているのですが、メソッド名とか開発キットをだいたいパクっているので、詳細はそのドキュメントHTTPのAPIのドキュメント を参考に・・・・dashdash

もちろん、Dropboxのアカウントが必要です。また、アプリを自分で登録 してApp KeyとApp Secretを発行してもらってください。SkyDriveと違い、Dropboxはアプリを登録すると、申請しない限り、Appフォルダの下にアプリ名のフォルダが作られ、そのフォルダにしかアクセスできないので、あえて、開発用アカウントを用意しなくても安全だと思います。

DropboxもSkyDriveと同じOAuth2を使っているので、認証方法はDelphiでWindows Live(SkyDrive) を参考に・・

具体的な使い方はデモアプリを見てください・・

Dropboxdemo1

Dropboxdemo2

フォルダの作成からファイルのアップロード、ダウンロード、移動、名前の変更、そして、特定のリビジョンの復元まで一通りできるようになってるので・・

1点だけ言うと、Dropboxではファイルのアップロードを分割してチャンクごとに行えるようになってるのですが、
ChunkedUploadFileFirstでアップロードするバイト配列を渡し、チャンクアップロードを開始します。UploadedChunkオブジェクトが返るので、そのUploadIDを使い残りのチャンクをChunkedUploadFileNextでアップロードします。すべてのチャンクをアップロードしたらCommitChunkedUploadFileでコミットします。こんな感じで使います。

というか、もうこのオンラインストレージネタはおなかいっぱいで飽きたdash

次になんか作るときは、いい加減、WinInet卒業して、クロスプラットフォームなHTTPライブラリに移行しようと思う。

« DelphiでWindows Live(SkyDrive)・・・(5) | トップページ | SSD/HDDのベンチマーク »

Delphi」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1497665/43760716

この記事へのトラックバック一覧です: DelphiでDropbox:

« DelphiでWindows Live(SkyDrive)・・・(5) | トップページ | SSD/HDDのベンチマーク »

自作ソフトウェア

無料ブログはココログ

メモ