OpenPNE に cmd で Amazon 画像


こことはちょっと違うアドレスで動かしているオープンソースのSNSシステム、OpenPNEのコマド機能でAmazonのアイテム画像を表示出来るようにしました。OpenPNEにはもともと「レビュー」としていろんなアイテムに対するコメントをつけることが出来るんですが、日記とは完全に別扱いになっていて、なんだかどうにも浮いてる感じがします。逆に別扱いなのでコミュニティのほうからメンバーのレビューを参照できるようにリンクできたりもするんですが、特定のアイテムに対するコメントってあまり使い回すようなものではないと思うわけです。

だとすると、日記やコミュニティの記事に完全に包含されていいんじゃないかというわけでやってみました。以下なんとなくやりかたみたいなもの。


コマドだったり小窓だったりcmdだったりしますが、とりあえずコマドで。どんなことやってるかといえば特定のサーバ名に反応して決められたJavaScriptを実行するって感じのようです。なのでdocument.writeで書き込むかiflameでというのが基本。

だとすると適当なサーバ名に引数としてASINつけてJavaScriptを呼び出して、リンクと画像のURLへ引数のASINを埋め込んで表示すれば完了。表示スタイルはお好みで。

でもこれだと、なんでもありになってしまうのがちょっと難点。気にしなければ問題ないけど。

たぶんいちばん気になるアダルト属性についてはAmazonのWebサービスをつかえば判定が可能。とはいえJavaScriptから直接はアクセスできないので何らかのシカケが必要。今回はphpでxmlを取りに行くようにしました。フラグさえ立ててしまえば特定の画像を表示するなり加工して表示するなり、表示自体を規制するなり可能なのでこれまたお好みで。

ただ、このままだとコマドが表示されるたびにWebサービスへアクセスしてしまうことに。ページに1つずつしか貼られてなければ問題ないですが、数が多かったりすると「1秒ルール」で表示が遅れる可能性も。ここも気にしないというのはアリですが、それじゃつまらないのでキャッシュする仕組みを作ってみました。とはいえ必要な項目をMySQLへ送ってるだけ。値段を表示しなければ3か月までキャッシュ可能だと思うので、Webサービスへアクセスしまくるということはなくなるはず。ただし同時に取りに行ったものは同時にキャッシュ期限も切れるはずなので、そこをどうするか迷い中。有効期限をランダムで短くしたりするべきかしらん。

というわけでJavaScriptでお手軽に始めたのに最後はMySQLつかってました。しかしネットで調べながらで、なんとか動くものが出来てしまうのはチト驚き。やってることは完全に車輪の再発明ですけど。:oops:


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です