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"