(前回)Cocoaの日々: Keychain Services 調査 (20) 認証フロー(REST向け)Keychain item 更新
さて今回からこれまで作ってきた keychain servicesを使った認証実装を使い、 twitpic へ画像をアップロードするサンプルアプリを作ってみる。
まずは調査から。
Twitpic - Share photos on Twitter
twitpic では簡単な API が用意されていて、POSTで画像をアップロードすると XMLでレスポンスが返ってくる。アップロードには multipart/form-data を使う。
このAPIを使うと twitter への投稿も一緒にやってくれる。なお http だと username / password が盗聴/改ざんされる危険があるのが気になる。
Use this method to upload an image to TwitPic and to send it as a status update to Twitter.
Fields to post in
(post data should be formatted as multipart/form-data):- media (required) - Binary image data
- username (required) - Twitter username
- password (required) - Twitter password
- message (optional) - Message to post to twitter. The URL of the image is automatically added.
Sample response:1111 11111 abc123 http://twitpic.com/abc123
Objective-C の実装についてはいくつか情報が見つかった。
iPhoneアプリからTwitpicに画像をアップロードする方法 - Tomute’s Notes
Using TwitPic API from ObjectiveC/iPhone - Stack Overflow
どちらも ASIHTTPRequest というライブラリを使っているようだ。
pokeb's asi-http-request at master - GitHub
READMEを引用すると:
ASIHTTPRequest is an easy to use wrapper around the CFNetwork API that makes some of the more tedious aspects of communicating with web servers easier. It is written in Objective-C and works in both Mac OS X and iPhone applications.It is suitable performing basic HTTP requests and interacting with REST-based services (GET / POST / PUT / DELETE). The included ASIFormDataRequest subclass makes it easy to submit POST data and files using multipart/form-data.
今回 multipart/form-data で POST するので、このライブラリを使うのが便利そうだ。
(続く)