G-Storage

### G-Storageとは ###

Rest風のAPIでデータをやり取りするストレージ。
URLはディレクトリ風の構成。
無料で実用のレベルまでの容量使えるかは不明。



### CONTENTES ###

# Flex Filler
WSSEクライアント。
ファイル一覧、ファイルアップロードなど。
ユーザ登録もここから。
Adobe Flash Player 10以上で動作。


# PostForm
認証つけちゃったから今はもう使えない。


# Storage API
アクセスに認証が必要なAPI。
プライベートデータのやりとりはこれで。
認証方法は以下の通り。
・WSSE
・OAuth(HMAC-SHA1)
・OAuth(RSA-SHA1)


# Share Storage API
/storage/share以下のフォルダを、/share/[username]として公開。
/share/[username]は、認証なしで誰でも見れる。
methodはcat固定。
デフォルトのformatはbin。
ex) /share/root/miserarenaiyo.png


# OpenSocial API
/storage/opensocial以下のフォルダを、/opensocial/[username]として公開。
サービスプロバイダの署名があれば認証。
使い方・出来る事はStorage APIと同じ。
対応してるサービスプロバイダは以下の通り。
・mixi.jp
・goo.ne.jp


# Proc API
ユーザの情報。
アクセスに認証が必要なAPI。
Storage APIとは違って、ログイン出来てなくても200を返す。
Flexからのログインチェックなどに使うと便利。
子ノードをパスに追加すると必要なものしか取ってこない。
ex) /proc/login


# User API
ユーザのアカウント情報。
ユーザを作成したり、パスワードを変更したり、公開鍵を登録したり。



### PARAMATER ###

# method
cat
ls
get
lscat
post
mkdir
rm
mv
info

# format
xml
json
bin



### EXAMPLE ###

# ディレクトリ作成

GET /storage/testdir/?method=mkdir HTTP/1.1
Host: g-storage.appspot.com
X-WSSE: UsernameToken Username="aaa", PasswordDigest="4luJ3fberpvhLiYQTEpQakEVOok=", Nonce="xhoEn8RmbziK4e+GJt0KLJfevIo=", Created="2010-04-05T23:52:28Z"


# データ格納 (urlencoded)

POST /storage/testdir/testfile_urlencode?method=post HTTP/1.1
Host: g-storage.appspot.com
X-WSSE: UsernameToken Username="aaa", PasswordDigest="4luJ3fberpvhLiYQTEpQakEVOok=", Nonce="xhoEn8RmbziK4e+GJt0KLJfevIo=", Created="2010-04-05T23:52:28Z"
Content-Type: application/x-www-form-urlencoded
Content-Length: 69

type=text%2Fplain&value=%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A


# データ格納 (multipart)

POST /storage/testdir/testfile_multipart?method=post HTTP/1.1
Host: g-storage.appspot.com
X-WSSE: UsernameToken Username="aaa", PasswordDigest="4luJ3fberpvhLiYQTEpQakEVOok=", Nonce="xhoEn8RmbziK4e+GJt0KLJfevIo=", Created="2010-04-05T23:52:28Z"
Content-Type: multipart/form-data; boundary=---------------------------168072824752491622650073
Content-Length: 291
-----------------------------168072824752491622650073
Content-Disposition: form-data; name="type"

text/plain
-----------------------------168072824752491622650073
Content-Disposition: form-data; name="value"

あいうえお
-----------------------------168072824752491622650073--


# ディレクトリ一覧

GET /storage/testdir/?method=ls HTTP/1.1
Host: g-storage.appspot.com
X-WSSE: UsernameToken Username="aaa", PasswordDigest="4luJ3fberpvhLiYQTEpQakEVOok=", Nonce="xhoEn8RmbziK4e+GJt0KLJfevIo=", Created="2010-04-05T23:52:28Z"


# ファイル出力

GET /storage/testdir/testfile_urlencode?method=cat&format=bin HTTP/1.1
Host: g-storage.appspot.com
X-WSSE: UsernameToken Username="aaa", PasswordDigest="4luJ3fberpvhLiYQTEpQakEVOok=", Nonce="xhoEn8RmbziK4e+GJt0KLJfevIo=", Created="2010-04-05T23:52:28Z"