お?いけるくさい?

iPhoneアプリエンジニアのたまごです。いっちょまえエンジニア目指してちいさな発見や学んだことを覚え書きしていきます!Objective-C/iOS/開発

再びiTunesSearchAPIで、AppStoreからアプリのscreenshotを取得する!!

前回のアプリではiTunesから楽曲情報を取得してたのですが、

このAPIのベースは先輩が作ってくれたものだったので、

データを取りに行く肝心な部分はノータッチでした。\( ^ヮ゜)>

 

で、今回のアプリでも

AppStoreからアプリの情報を取りに行って、

スクリーンショットの画像を表示させたい!

というマストな山が!

 

まずはGoogle先生に聞いてみました。

スクリーンショット AppStore 取得 JSON」

なんか登録の方法やら指定のサイズやらは出てくるけど

取得の方法がヒットせず。

英語でも「get screenshot appstore how(howとか必死感うける)」とか入れても

同じような結果..。

むむむ。

 

前回のアプリでは、iTunesから楽曲情報を取得する際に、

iTunes RSS(ランキング表示)

iTunes Search API(楽曲検索)

という2つのデータベースを利用していたのですね。

で、とりあえずiTunes RSShttp://itunes.apple.com/jp/rss/generator/

で条件指定して検索してみたものの、

JSON叩いて中身を見ても"screenshot"らしき値が無いのですよ(ω・`)

iconの画像らしきものはあるのに。

 

で、サーバ側の先輩に聞いてみると、

APIはみた?」と言われ、

公式サイト(http://bit.ly/bGaJt4)見ても意味わからんよね、あれ

ってことでけっこう流し読みしかしてなかったんやけど、←

よーく読むと、下のほうに

 

Search Examples

Lookup Examples

 

ていうのがありますね?

これ結構ポイントだったようで、どうやら検索の方法は2種類あるらしい。

http://www.wakatta-blog.com/itune_api.html[参考]

つまり、単語で検索するかidで検索するかってことみたい。

idがわかっている場合はlookup方式で検索すると

早くて情報量もいっぺんにとれて便利みたいです!

 

というわけで道はなんとなく開けた。

つまり前回の楽曲検索ではSearch方式で検索してたけど、

今回のやつではLookup方式を使ったほうが良さげだな。

(しかもLookup方式のほうが簡単そうだしよかった)

さてさてLookup Exampleの中に

 

●Look up Yelp Software application by iTunes ID:

https://itunes.apple.com/lookup?id=284910350

 

ていう項目があって、これを叩くとこのアプリにまつわる情報がだーっと見れます。

ほほー、つまりこの284910350っていうのがアプリidなわけだな。

ていうことで、自社でリリースしてるアプリidをiTunesConnectから検索して、

そのidをid=のあとに入れて叩くと...

 

検索結果:0   ...?

 

えーーーーーーー?(°□°)なんで?

iTunes上にはあるのに。

で他のアプリidも入れてみたところ、

出るやつと出ないやつがある。

登録した順番(古いやつは出ない)とかか?って思ったけど

そんなんやったらそもそもおかしいし(笑)、

再びGoogle先生にきいてみたら、

こちらhttp://www.antun.net/tips/api/itunes.htmlにありました。

真ん中あたり、

 

公式ドキュメントには明示されていませんが、lookup は search と 同じ引数指定ができるようで、逆に言えば指定をしないと 米国版の情報を取りに行ってしまいます。 例えば、太鼓の達人 の情報を取ろうとして、 http://itunes.apple.com/lookup?id=366956158 と指定しても国内でしか提供されていないこのアプリの情報は取れません。 そのため、 http://itunes.apple.com/lookup?country=JP&id=366956158 と引数 country を指定すれば 情報が取れるようになります。

 

なるほど!

というわけで、「ありません」って言われちゃったアプリに関しては、

countryを指定したらとれるようになるんですね。

 

これでスクショがゲットできるはず!

さーやってみよー!