bit.lyのREST APIを使って短縮URLを作成する方法
注:本記事はbit.lyのAPIのバージョン2を使った方法であるが、現在の最新はバージョン3である。最新のバージョンに対応した方法は「bit.lyのREST APIを使って短縮URLを作成する方法(改訂版) - Tomute’s Notes」でどうぞ。
iPhoneアプリにTwitter連携機能を持たせようとした場合等に、短縮URLを作成する必要が出て来たりすると思うのだが、bit.lyのREST APIを使ってその短縮URLを作成する方法をメモしておく。
[準備]
その1:APIキーの取得
bit.lyのREST APIを利用するにはAPIキーが必須のため、そのAPIキーを取得する。取得方法は非常に簡単で、bit.lyのユーザアカウントを作成するだけでOKである。アカウント作成後にbit.lyのAccountページに行くとAPIキーが表示されているのでそれを利用する。
その2:JSONパーサーのダウンロード
bit.lyのREST APIはデフォルトではJSON形式でレスポンスを返すため(XML形式も選択可)、JSONパーサーを利用するのが良いと思われる。今回私はjson-frameworkを利用した。なおこのjson-frameworkの使い方に関しては「[iPhone] JSON Framework の使い方(準備編) | Sun Limited Mt.」が参考になる。
以上で準備は完了。
[利用方法]
bit.lyのREST APIを使って短縮URLを作成する具体的な方法は以下のような形である。
// URLはURL encodingされている必要有 NSString *longURL = @"http://d.hatena.ne.jp/tomute/"; NSString *userName = @"tomute"; NSString *apiKey = @"XXXXXXXXXX"; NSString *baseURLString = @"http://api.bit.ly/shorten?version=2.0.1&longUrl=%@&login=%@&apiKey=%@"; NSString *urlString = [NSString stringWithFormat:baseURLString, longURL, userName, apiKey]; NSURL *url = [NSURL URLWithString:urlString]; NSError *error; NSString *results = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error]; NSDictionary *dic = [results JSONValue]; if ([[dic objectForKey:@"errorCode"] intValue] == 0) { NSString *shortURL = [[[dic objectForKey:@"results"] objectForKey:longURL] objectForKey:@"shortUrl"]; }
[参考記事]