PHP

Androidマーケットの情報をPHPでとってくる。

Androidマーケットの情報をPHPで取得

今は公式にPC版マーケットが出てきましたが、今まではAndroidマーケットアプリからしかアクセスできず不便でした。
この記事そんなときに見つけた、PHPからマーケットアプリの通信をマネてアクセスする方法です。

Android Market API for PHPの使い方

→http://code.google.com/p/android-market-api-php/
使い方は簡単でまずは「local.php」にGoogleアカウントを設定する。
sampleがあるので、実行してみるとちゃんと取れる。

ざっとみたかんじ大体こんな感じ?

MarketSession.php:キャリアやバージョンなどの設定はここにある。
market.proto.php:どんな検索できるかな?はここをみる。

DOCOMOにしたかったので、MarketSession.phpを下記のように変更

[code language=”php”]
function __construct () {
$this->context = new RequestContext();
$this->context->setUnknown1(0);
$this->context->setVersion(1002012);
$this->context->setDeviceAndSdkVersion("passion:8");
$this->context->setUserLanguage("ja");
$this->context->setUserCountry("JP");
$this->setOperatorDocomo();
}
public function setOperatorDocomo() {
$this->setOperator("NTT DOCOMO", "44010");
}
[/code]

サンプル試していて、プロモーションテキストなど取れないかなって見てたら、newした後にsetWithExtendedInfoをtrueにしてあげる必要がある。

[code language=”php”]
$oAppReq = new AppsRequest();
$oAppReq -> setWithExtendedInfo(true);
[/code]

とりあえず、それっぽく検索はできる様になったけど、日本語検索がマーケットアプリとは違う動きをするときがあるので調査中。

サンプルページはコチラ

CentOS5.5でPHPの最新版(5.3)をインストール

脆弱性対策としてPHPの5.3をインストールする必要が出た。

CenstOSだから、最新はきついと思いながら調べたらレポジトリ追加でなんとかなった。

remiというレポジトリをどうやら追加しておこなう。
ココではないけど、MySQLの使ってるので、MySQLもいっしょにアップデートの必要があるらしい。

テストで違うサーバでやったら一回失敗して、mysqlが壊れて再インストールしましたw
大丈夫だと思うけど、mysqldumpでバックアップはしておきましょう。

yumに「epel」と「remi」を追加する。

#rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
#rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

常用しないように「epel」と「remi」の「enabled=0」を設定(なっているはず)

#vi /etc/yum.repos.d/epel.repo
#vi /etc/yum.repos.d/remi.repo

yumのオプションで「epel」と「remi」を有効にしてアップデート
phpだけだど、mysqlがらみでエラーがでるので、いっしょに。

#yum update --enablerepo=remi,epel php mysql mysql-server

完了。

# php -v
PHP 5.3.0 (cli) (built: Jul 19 2009 17:55:08)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies