Liner Note

情報(ユーザー中心デザイン・ユーザビリティ)と技術(ウェブプログラミング・ウェブサービス)についてのメモ書き

要約:Amazon Linakgeプラグインの導入、および購入者情報の表示をする方法があまりにも不親切だったので補足してみる

Amazon.co.jpのレポートをもっと簡単にゲットできるようにした:Amazon Linkageプラグインで、以下のようなコメントをいただきました。

え~と、勉強不足なのは承知で、申し訳ないですが、akiyan.comさんのソースだけではないですよね?
Amazon Linkageプラグインとの併用、という感じでしょうか?

Amazon LinkageプラグインにもReadme.txtをと書いてあるのですが、それも見当たりませんし、
どのファイルをどこにUPして利用すれば良いのか・・・混乱してしまいました。

Liner Note – Amazon.co.jpのレポートをもっと簡単にゲットできるようにした:Amazon Linkageプラグイン

確かにドキュメントが無い(バージョンアップの際に間違って消しちゃったのだと思うけど)‥。最初に書いたのは粗末な物で、ユーザに超不親切だったと思うので、きちんと導入に関するドキュメントを書いておこうと思います。

Amazon Linkageプラグインの設置

まず、購入者情報を取得するにはAmazon Linkageプラグインの導入(つまり併用)が必須です。ただし、このプラグインは最近WordPressのプラグインとしてだけでなく、単体のPHPスクリプトとしても振る舞えるように改造している1 ので、WordPressを使っていない場合でもご使用いただけます。

今回は、Amazon Linkageプラグインを単体のPHPスクリプトとして導入していくところを書いてみます。

まず、Amazon LinkageプラグインーAmazonアソシエイト for WordPressからAmazon Linkageプラグインをダウンロードしてください。

次に初期設定です。始めに、フォルダを解答した直下にある amazon.php ファイルを開き、冒頭でAmazonアソシエイトIDとサブスクリプションIDの設定箇所があるので、記入してください。次に、report フォルダの中にある conf.inc.php ファイルをエディタで開き、Amazon アソシエイトのID/パスワードを入力してください。これで初期設定は終了です。

PHPソースコード (/amazon.php)
// Amazon.co.jp アソシエイトID
var $AssociatesID = "ASSOCIATEID-22";
// Amazon.co.jp サブスクリプションID
var $SubscriptionID = "SubscritionID HERE";
PHPソースコード (/report/conf.inc.php)
// アカウントのEメールアドレス
$this->email    = "mail@example.jp";
 
// アカウントのパスワード
$this->password = "password";

このプラグインの配置場所ですが、私はWordPressのプラグインとしても使っているので、今回はWordPressのプラグインのフォルダで書いていますが、別に場所を限定するわけではありません。好きな場所に配置してください。

サンプルアプリの導入

そして、今回は購入者情報を表示するサンプルアプリとして、Amazon.co.jp 商品情報表示サービスの導入してみたいと思います。

まず、以下からスクリプトをダウンロードします。

ダウンロード
Amazon.co.jp 商品情報表示スクリプト

そしてフォルダ直下の index.php を開き、以下の2行でAmazon Linkageプラグインの場所を指定してやります。まず、1行目でAmazon Linkageプラグインがあるフォルダを指定します。2行目は実際のスクリプトの場所ですが、初期設定で問題はありませんのでそのままで結構です。

PHPソースコード (/index.php)
$path = "../../../blog/wp-content/plugins/amazon_linkage/";
require_once "{$path}amazon.php";

フォルダの場所は、必ず/で始まらないようにし、/で終わるようにしてください。この辺、間違えるとうまく動作しませんのでご注意を。

この状態でファイル群をアップロードし、ASINをつけてアクセスすれば(例:http://example.jp/amazon/4873113423)、商品情報および購入者情報が表示されるはずです。なお、さくらインターネットなど mod_rewriteが使えないサーバでは、.htaccessファイルを削除し、http://example.jp/amazon/index.php?asin=4873113423というようなURLでアクセスしてください。

購入者情報の定期更新

ところで、このスクリプトはAmazonへのサーバ負担を減らすために、購入者情報を取得した後、DBとして蓄積し、Amazon Linakgeプラグインからの要求があったときに購入者情報を返すという方法をとっています(つまり、akiyan.comさんとは違うやり方です)

で、この購入者情報のデータなのですが、これは手動でAmazon Linkageプラグインにある update/update.php ファイルを叩かないと更新されません。

しかし、それではあんまり面倒なので、うちではcronによる自動化をしてています。cron機能はXREA / CORESERVER、あるいはさくらインターネットなどのサーバでは使えるようです。

例えば、以下のようなシェルスクリプトを書きます。

ソースコード
#!/bin/sh

# レポートをゲットして出力する
/usr/local/bin/php /path/to/home/blog/wp-content/plugins/amazon_linkage/report/report.php
# ルートに作られたレポートを指定のフォルダに移動
mv /virtual/vistawalk/report.xml /path/to/home/blog/wp-content/plugins/amazon_linkage/report/report.xml
# XMLを基にデータベースをアップデートする
/usr/local/bin/php /path/to/home/blog/wp-content/plugins/amazon_linkage/report/update.php

exit

これをreport.shとして保存し、コントロールパネルで毎朝8時に定期実行するように設定しています(Amazonのレポートは早朝に更新されるようなので)。

CRONジョブの設定

こんなもんでしょうか。もし、これで動作しないと言うようでしたら、コメントで教えていただけると助かります。

  1. そのせいで、ややコードが複雑になってはいるんですが[戻る]

Popularity: 2% [?]

キーワード:

似たもの記事

読者の皆さんの反応サイト内コメントの更新情報(RSSフィード)

読者のコメント

4

ブックマークコメント

0

他サイトの関連記事

0

読者のコメント

  1. お名前

    和田

    投稿日時
    2008年07月29日
    10時ごろ
    Comment No
    #1

    はじめまして。
    プラグインのご提供、ありがとうございます!

    「Amazon.co.jp 商品情報表示スクリプト」のリンクが切れてしまっているようなのですが。。

  2. お名前

    shima

    投稿日時
    2008年11月09日
    20時ごろ
    Comment No
    #3

    すいません。私も試しに利用させて頂きたいと思っているのですが、
    「Amazon.co.jp 商品情報表示スクリプト」のリンクが切れてしまっているみたいですね。。

はてなブックマークでつけられたコメント

他サイトの関連記事

トラックバックはまだ寄せられていません


トラックバックとは
この記事に言及したサイトをこちらに掲載する仕組みをトラックバックと言います。ここでは、このサイトに頂いたトラックバックを一覧表示しています。
トラックバックしてくださる方へ
この記事への言及がない記事など、トラックバック受信方針に沿っていないものは、読者にお見せしても仕方ないこともあり削除させていただいることをご了承ください。
トラックバックを受け取るためのURI

コメント書き込みフォーム

  • メールアドレスはウェブ上で公開したり、連絡以外で使うことはありません
  • コメントを公開したくないが、作者に連絡を取りたい場合は メールで連絡してください
  • 本文中にHTMLコードは使用できません(URLはそのままお書きください)