ヒビノログ

個人的なメモを淡々と記録していくブログ。最近はLaravelやスマートフォンの話題など。

MevvyAPIを使ってみた

決められた特定のスマートフォンアプリがいつ更新されたか、自動でアプリストア(AppStore、GooglePlay)を巡回して教えてくれるプログラムを作りたいと思い、mevvy というサービスを使ってみました。

Mevvyのサイトを見てもどういうサービスを展開しているのかイマイチよくわからないのですがw、iOSAndroidやWindowsMovileのアプリの情報をまとめて持っていて、アプリ検索に対して適切な結果やレコメンドを返してくれるサービス、なのかな?

で、このサービスの「使える」ポイントとしては彼らが提供しているAPIにあります。
こちらAPIのドキュメントが公開されていますが、AppStoreやGooglePlayで公開されているアプリの名前や説明、最新バージョン、更新文、レーティング、価格など、Storeに掲載されている一通りの情報がMevvyのAPIだけで取得できます。

たとえばiOS版のTwitterクライアントアプリの情報を取得したい場合は
http://api.mevvy.com/v1/apps/itunes/333903271?token=XXXXXXXXX
Android版なら
http://api.mevvy.com/v1/apps/gplay/com.twitter.android?token=XXXXXXXXX
という感じ。
レスポンスとして前述のような情報がjson形式で返されます。

こういった情報、iOSAppleAPI提供していてそちらを使えば良いのですが、Googleが同様のAPIを提供しているかというと、どうもしていないようです(自分が出しているアプリであればStoreに書かれたレビューはgsutilで取れますが)。Google Playのアプリページをスクレイピングして取得するライブラリはいくつかgithubで見つかるものの、それほどメンテされておらず信頼性に欠けるし、自分でforkしてメンテするほどの手間は掛けたくない…

ということで、AppStoreの情報はAppleのSearchAPIを使い、GooglePlayの情報はMevvyのAPIで収集するという形にしました。一部、情報が取得できないアプリはあるものの、今のところやりたい事はほぼできています。MevvyAPIも実は利用制限(1ユーザで利用できるAPIの呼び出し回数の上限が決まっています)があったりするので、これから使いながら試してみようと思います。