2013年7月10日水曜日

iTunes APIで遊んでみる (1)

iTunes APIで遊んでみるの第一回です。ますは「RSS」から。

この「RSS」はAppStoreのランキング情報(など)が取れるものです。

はじめに

RSSはアップルから提供されている以下のものを使用します。

Apple - iTunes - RSS Generator

パラメータについて

RSSから情報を取ってくる際は"パラメータ"を指定して行います。

このパラメータは、メディアタイプフィードタイプサイズジャンルなどがあります。

パラメータの組み合わせは、実際ものすごい量でここでは紹介しきれないので、今回は後で行う例題で使用するフィードタイプの一部を載せておきます。

// フィードタイプ.
"topfreeapplications", // トップ無料 iPhone
"toppaidapplications", // トップ有料 iPhone
"topgrossingapplications", // トップセールス iPhone
"topfreeipadapplications", // トップ無料 iPad
"toppaidipadapplications", // トップ有料 iPad
"topgrossingipadapplications", // トップセールス iPad
"newapplications", // 新規アプリ
"newfreeapplications", // 新規無料アプリ
"newpaidapplications", // 新規有料アプリ

他にも気になる方は「Apple - iTunes - RSS Generator」で調べてみてください。

ランキングを取ってみる

それではランキング情報を取ってみます。

iOSアプリの無料トップセールスを10件 取得してみます。

iOSアプリの無料トップセールスを10件取得

NSURLRequest *req = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://itunes.apple.com/jp/rss/topfreeapplications/limit=10/json"]];
NSData *json_data = [NSURLConnection sendSynchronousRequest:req returningResponse:nil error:nil];
NSError *err = nil;
NSDictionary *jsonObj = [NSJSONSerialization JSONObjectWithData:json_data options:NSJSONReadingAllowFragments error:&err];  // (1)

NSArray *ids = [[[[[jsonObj valueForKeyPath:@"feed"] valueForKeyPath:@"entry"] valueForKeyPath:@"id"] valueForKeyPath:@"attributes"] valueForKeyPath:@"im:id"];  // (2)

NSLog(@"result = %@", ids);

/* 結果 */

result = (
    447689011,
    535176909,
    625335999,
    535811906,
    424912055,
    489221652,
    421706526,
    417817520,
    449735650,
    409936319
)

取得した情報をNSDictionaryに入れて(1)、valueForKeyPath:メソッドでアプリのIDを検索しています(2)。

取得したIDは、https://itunes.apple.com/jp/app/id[App ID] で確認できます。

参考記事

【Objective-c】iTunes APIを使ってみる。- セプテーニ エンジニアブログ
AppStoreのランキング情報取得について - NoasMarkのプログラムMemo(まれに雑記)

0 件のコメント:

コメントを投稿