OpenPNEでは日記にAmazonの商品のURLを貼り付けることで、その商品を日記に表示することが出来ます。が、ただURLを貼り付けた場合、「SNS設定」で設定したアソシエイトIDではなく、OpenPNEのアソシエイトIDが付与される仕様になっています。
「これはどうも面白くない仕様だぜ」というケチなアナタへ送る、小窓に付与されるアソシエイトIDをオレ様のアソシエイトIDにする方法。
このアソシエイトに関連した小窓の仕様については、「Amazon小窓のHelp」に以下のようにまとめられています。
Q.AmazonアソシエイトIDに自分のIDを使うことは出来ないの?
Amazon小窓のHelp
AmazonアソシエイトIDをURLに挿入することで、独自のIDに置き換えることが出来ます。
特に指定されていない場合は、Amazon小窓のサーバ代を稼ぐためにsnsoftに置き換える仕様になっております。
例)tag=AmazonアソシエイトID
Amazon小窓に表示するデータはOpenPNEプロジェクトのamazon小窓サーバから取得するようになっています。アソシエイト経由で上がった収益はそのサーバの維持費に宛てられると言うことのようです。
ここからもうひとつ分かるのは、他の人が運営しているOpenPNEのSNSでもURLに「tag=自分のアソシエイトID」を付与することでお小遣い稼ぎが出来ると言うこと。(ふむ、今度利用させてもらおう。)
というわけで、実際の方法へ。
環境
この方法は以下の環境で確認しました。
- OpenPNE 2.14.1.1
手順
編集するファイルは「public_html/cmd」ディレクトリの中にある以下の小窓用ファイルです。
- amazon.co.jp.js
- www.amazon.co.jp.js
この2つのファイルそれぞれについて以下の編集をします。(名前は違いますが、中身はほとんど同じです。)
まず、以下のように書かれている部分を探します。といっても、コードは非常に短いので、すぐに見つかるかと。
var match_tag = url.match(/tag=([a-zA-Z0-9_\-]+)/);
if (match_tag) {
tag = RegExp.$1;
} else {
tag = '';
}
そして、以下のように書き換えます。
var match_tag = url.match(/tag=([a-zA-Z0-9_\-]+)/);
if (match_tag) {
tag = RegExp.$1;
} else {
tag = 'xxxxx-22'; //変更したところ
}
要点だけまとめると「tag=”」となっているところに自分のアソシエイトID(ここではxxxxx-22)を追加して、「tag=’xxxxx-22’」としているだけです。
以上で完了です。
ジャイアニズム仕様
以上の編集をしても、ユーザがURLに自分のアソシエイトIDを付与することは(相変わらず)可能です。
それすらも許さない、「俺の物は俺の物。お前の物も俺の物。そうだろ?心の友よ!」というジャイアニズム溢れる方は以下のように編集するといいでしょう。
// var match_tag = url.match(/tag=([a-zA-Z0-9_\-]+)/);
// if (match_tag) {
// tag = RegExp.$1;
// } else {
tag = 'xxxxx-22';
// }
tagの有る無し関係なく、問答無用で自分のアソシエイトIDを設定しています。これでAmazon小窓に付与されるアソシエイトIDはすべてオレ様のものになります。