7月 20

【重要・あと30日です】Product Advertising API の署名認証利用開始のお願い

移行期間終了後に認証を含まないリクエストが送信された場合、リクエストは一切処理されなくなりますのでご注意ください。
とのメールがきました。

AWSの仕様変更があり名称も「Product Advertising API」となりました。

いままではAccessKeyIDのみの認証でしたが、SecretAccessKeyなるものが必要になりました。

PEAR::Services_Amazonのものは
こちらを参考にさせていただきました。

# pear upgrade Services_Amazon-beta

Did not download optional dependencies: pear/Cache, use –alldeps to download automatically
downloading Services_Amazon-0.8.0.tgz …
Starting to download Services_Amazon-0.8.0.tgz (20,992 bytes)
……..done: 20,992 bytes
upgrade ok: channel://pear.php.net/Services_Amazon-0.8.0

でServices_Amazonをアップグレードして、requireするファイルをAmazonにして呼び出し時にSecretAccessKeyを追加。

require_once 'Services/Amazon.php';
$Ama = new Services_Amazon(ACCESS_KEY_ID, SECRET_KEY_ID, ASSOC_ID);

Zend_Service_Amazonを使ってるアプリもあるので対応しないと。
こっちは日本語情報少ないな。

Zend Framework 1.8.4 2009-07-02 を落として調査中です。

7月 11

CodeIgniterでデフォルトのページングをおこなうとページングの引数が、offsetとなるので気持ち悪く、ページ番号にしたいとおもいMLなどで質問していると下記のクラスを公開された方がいたので、使用させて頂きました。
http://d.hatena.ne.jp/KuniTsuji/20090710/1247224167
CIのページネーションと同じオプションなのでそのまま使えます。

6月 22

テンプレート側
aタグもしくはFORMタグに「utn」の文字を付与する。

PHP
PEAR::Net_UserAgent_Mobile を使って以下のようなメソッドにしておく。

require(PEAR_DIR. 'Net/UserAgent/Mobile.php');

public function GetSerialNumber( $carrier )
{
	if ( $carrier === 'dcm' ) {
	    /*
	      端末製造番号(UTN)
	        端末ごとの番号なので機種変すると使えない

	      フォーマット(15桁のユニークな英数字)
	        "serxxxxxxxxxxxxxxx"

	        ser: FOMA端末個別識別子
	        xxxxxxxxxxxxxxx: FOMA端末製造番号(15桁)

	    */
	    //$agent = Net_UserAgent_Mobile::singleton();
	    //$mobile_id = $agent->getSerialNumber();

	    /*
	      FOMAカード製造番号(UIM)
	       カードごとに割り振りされている。機種変しても番号が変わらない

	      フォーマット(20桁のユニークな英数字)
	        "iccxxxxxxxxxxxxxxx"

	        icc: FOMAカード個体識別子
	        xxxxxxxxxxxxxxx: FOMA端末製造番号(15桁)
	    $mobile_id = $agent->getCardID();
	    */
	    $mobile_id = $agent->getCardID();

	} elseif( $carrier === 'au' ) {

	    /*
	      EZ番号(サブスクライバID)
	        契約に対して1意に割り振られている

	      フォーマット
	        "XXXXXXXXXXXXX_XX.ezweb.ne.jp"

	        XXXXXXXXXXXXX: 14桁の数字
	        XX: 2桁の英数字
	        ezweb.ne.jp: 固定値
	     */

	    $mobile_id = $_SERVER['HTTP_X_UP_SUBNO'];

	} elseif( $carrier === 'sb' ) {

	    /*
	      端末製造番号(P型以降で取得可能)
	        端末ごとの番号なので機種変すると使えない
	        携帯の設定で端末シリアル番号を「送出する」を設定した場合、取得可能となる

	      フォーマット(20桁のユニークな英数字)
	        "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

	        P型: 11桁の英数字
	        W型: 15桁の英数字
	        3GC型: 20桁の英数字
	    */
	    //$agent = Net_UserAgent_Mobile::singleton();
	    //$mobile_id = $agent->getSerialNumber();

	    /*
	      ユーザーID
	       カードごとに割り振りされている。機種変しても番号が変わらない

	      フォーマット
	        "xxxxxxxxxxxxxxxx"

	        xxxxxxxxxxxxxxxx: 16桁の英数字
	    */

	    $mobile_id = $_SERVER['HTTP_X_JPHONE_UID'];
	}

	return $mobile_id;
}