おひさしぶりです
前回の更新からかなり放置していましたすいませんw
今朝ふとwonderflをみるといつの間にかAPIなるものがありました
(゚Д゚≡゚Д゚)エッ!って思ったけど本当に公開された直後だったらしく、バグもあったのですが現在は直ってます
とーいうことで!さっそくAPI使ってみよー!
ほぼwonderfl APIと同じことしか書いてないので英語読むのが早い人はこっち読んでくださいw
規約
まず、APIを使う時の規約はwonderfl API Terms of Serviceで確認できます
適当に和訳すると
こんな感じ (間違ってたら教えて><)
APIキー
APIを使うにはAPIキーを取得する必要があります
ただし、wonderfl内でしか使わないという人は、wonderfl用のAPIキーがあるのでそれを使います。
FlashVarsにopen_api_keyというAPIキーが入った変数が用意してあるので、コード内で
loaderInfo.parameters.open_api_key とやればAPIキーがとれます
さて、本題に戻ってAPIキーを取得しましょう
create an API key ここからAPIキーを貰ってきましょう
URLとAPIを使うアプリの説明を書いて送ればすぐその場ですぐキーが返ってきます
説明はぶっちゃけ適当で(ry
APIの基本
APIは基本的にHTTPのGETで行います
将来的にPOSTでできるようになるかも
応答はJSON形式で返ってきます。個人的にXMLが好きなのだけど今のとこJSONしかないのでJSONを使います
APIを使う時の基本となるURLはhttp://api.wonderfl.net/です。
APIを使う時はこのURLとAPIのURLを合わせて使う形になります
存在しないAPIやユーザー名を使用した場合
{"stat":"fail","message":"not found"}
このような、statがfailで、messageにはその時のエラーメッセージが入ります
APIが通った場合
{"stat":"ok",...snip...}
このようにstatはokとなり、応答の詳細が続きます
API
APIは公式には今のとこ4つだけです
今後増えていく・・・のでしょうか?期待ですw
APIの詳細はwonderfl API Methodsに書いてあるのでこちらを参照してください
指定したユーザーの情報を取得する
指定したユーザーの投稿したコードの情報を最大20件取得する
指定したコードの情報を取得する
指定したコードをforkしたコードの情報を最大50件取得する
つまづきそうな箇所
・JSONの処理
JSONはas3corelibを使って
JSON.decode(data)
とすればJSONをObjectに変換して簡単に扱うことができます
・description
改行が\r\nとなっているのでどちらかを削除しないと二重に改行されてしまいます
・thumbnail
サムネイル画像のURLはどうやら2種類あるようです
http://capture.heartrails.com/100×100/border/delay=1?http://wonderfl.net/capture/b11cbe9636ed72690e77dde34bdeeaaf8c5624e8
のような形式と
http://wonderfl.net/images/capture/5/56/5601/5601a21e701eecbd53a2eb119622b6b326690c7c.jpg
のような形式があるようです
前者はデフォルトで100*100ですが、後者は465*465なので扱いに気をつけてください
・created_date/modified_date
取得したcreated_date/modified_dateを1000倍するとUNIXTIMEとしてDateクラスに適用できます
example
4つのAPIのうち、ユーザーの情報を取得するAPIと、ユーザーのコードの情報を取得するAPIを使ってサンプルを作りました
手抜きでサーセンw
コードを表示するTextAreaにzahirさんの自作 TextArea ver.3を使わせていただきました
要望
wonderflこれからも期待してます!w

