Bitcasa API test app

Bitcasa APIをテストするモジュールとC#のテストアプリ

(改版履歴)
20131228 初版
20131230 いろいろと修正。教えてくれた人サンクス
	ダウンロードが壊れる問題を修正。
	ダウンロードとアップロードはできるだけやり直すように。
	進捗状況を表示するようにがんばってみた。
	ダウンロードは10GB、アップロードは4GB程度までならたぶんいけるはず。
	アップロードは失敗してもしばらくしたら出現する場合があるので気をつけてください。

(コンパイルに必要なもの)
Visual Studio 2013 pro(他のバージョンでは確かめていない)
openssl (dllコンパイルしてつけてある)

歴史的事情により、C++でAPIを叩くモジュールを作ってしまったので
C#ラッパーによりC#->C++/CLI->opensslでAPIを叩きに行きます。


(中身)
src\
 ssl\ opensslからコンパイルと実行に必要なものを持ってきた
 BitcasaDLL\ opensslによりBitcasaAPIを叩く足回り,C++/CLI C#ラッパー
 Webwindow\ はじめの認証をWeb表示するモジュール
 bitcasaViewer\ 本体

x64_bin\ 実行ファイル(dllは全部要るはず)

(使い方)
このへんに図入りで書いてみた。
https://www.lithium03.info/product/bitcasaDLL/howtouse.html

あんまりに遅いときはBitcasa側の問題なので、ぽちっとなと強制終了してもう一度。

左上のログインボタンを押すと、トークン取ってきてカレントに書き出します。
以降はトークンがあれば同じアカウントは最終アクセスから7日間使えるようです。

IEコンポーネントのバージョン問題で、ログインできないのでレジストリに一カ所書きに行きます。
src\WebWindow\Form1.csのこのあたり
Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Internet Explorer\Main\FeatureControl\" + feature))


左のツリーをクリックすると、その部分の詳細が右にでます。
右上の部分は右クリックメニューがでて、それぞれAPIの該当コマンドを発行します。
確認は出ませんので気をつけて。

moveとcopyは、対象ファイルを選択->右クリックからmoveまたはcopy
右上の部分に移動/コピー先を表示->移動先右クリック->move/copy hereです。

reloadを押すと、鯖まで取り直しに行きますがそれ以外は初回に取りにいったデータを
内部で保持します。
削除やリネーム、移動コピーでツリーが変わった場合、できるだけ追従しますが
エラーとかの時はどっかに行くかもしれません。
本来ある場所の親ディレクトリでreloadすると、サーバ側のデータに更新されます。
ゴーストのある場所の親ディレクトリでreloadして、幽霊側を消してください。

Scan ALLをすると、下位ディレクトリも含めてすべての構造を取ってきます。
ファイルがいっぱいある場合は固まりますので、ネットの転送グラフを見て動いているか
チェックしてください。
タイムアウトは50secくらいです。それ以上固まっている場合は、ぽちっとな

すべての構造を取ってきたらfindが使えます。
ファイルパス名の単純一致or正規表現一致と時間サイズで絞り込んで右上に表示します。
ここから右クリックメニューでAPIコールできるので、条件を絞り込んで移動とかに使えます。


(注意事項)
実験プログラムです。一応動くようにしましたがバグバグです。
壊れはしないと思いますが、ご自身の責任で実行してください。
APIコールはBitcasaサイトの条件を読んで、用法用量を守ってください。
APIキーはexeには入っていますが(test2)ソースから消してあります。
アカウントがあればキーを発行してくれるようなので、必要なら各自で取得してください。

ソースコードのうち、私が書いている部分(openssl以外)はパブリックドメインです。
