iTunes Search APIでサイズ別にアイコン画像を取得できなくなった

のでメモ。軽く検証しただけなので正確とは限りません。

問題

Search APIで取得していた100x100px等のアイコン画像が取得できなくなった。これまでのようにURLを書き換えても404になり、サーバ上に存在しない。この問題は新規アプリや、最近更新されたアプリに限定されます。アップデート前まではあったのに、アプデ後は無くなっている。DraftsWorkflowDropboxにも無い。

結論

無い。残念。これまでのやり方は使えなくなりました。

調べた結果、新規や、最近更新されたアプリのほとんどは、アイコン画像がartworkUrl60・512しか存在しない。サムネイル用の60(120x120px)とオリジナルの512(1024x1024px)の2種類。100もあるかもしれませんが、中身は512と同じです。

この変更は最近始まったもののようで、現在は過渡期にあります。以前はartworkUrl60に57x57pxの画像がセットされていて、更新の無いアプリは全てこのままです。

解決

今後はartworkUrl60を使います。画像の解像度は検索時に読み込んで取得。これまでより多少時間はかかるけど仕方ないでしょう。

実際は他のサイズの画像もある

何なんだという話ですが、あるにはあります。確認しているのは100x100pxと175x175pxのサイズ。おそらく他にもあるのでしょう。いくつかはiTunes Storeのプレビューページで使われています。

Search APIを元にこれらの画像を取得しようと思うと少し面倒です。試しにPythonistaで175x175pxのiPhoneアプリのアイコンを保存するスクリプトを書いたので参考にどうぞ。

こんな感じで処理しています。通信が必要なのは1,3,4です。

  1. Search APIで検索してアプリURLを取得
  2. 検索結果からアプリを選択
  3. iTunesプレビューページをスクレイピングしてアイコンURLを取得
  4. アイコン画像をダウンロード
  5. カメラロールに保存

AppHtml的な用途なら3番までをやる必要があるのですが、この画像はアップデートごとにファイル名やパスが変わる可能性があるし、いつまで保存されているかもわかりません。

あとがき

多少面倒ですが、イレギュラーな使い方なのでこういう手間は今後もあるでしょう。上にも書いた通り2種類の画像をそのまま使う事を考えてツールを修正しようと思います。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中