ホーム >> 左脳Script >> Movable Type >> Plugin開発 >> Amazon画像URL展開プラグイン

Amazon画像URL展開プラグイン


アマゾンのリンクをなんとかスッキリさせたい。」という思いから、アレコレ調査と試行錯誤?の末、商品画像リンクを作るプラグインが出来た。ので公開してみる。

需要はあるのだろうか?・・・

AmzImgプラグイン

ひとまず、左図のようなリンクを以下のタグで作成できる。

<mt:amzimg asin="4822241912" id="nyagi2009-22">
<mt:AmzImgEnum>
<a href="http://www.amazon.co.jp/o/ASIN/<$mt:AmzImgASIN$>/<$mt:AmzImgTag$>"
 target="_blank"
 title="<$mt:AmzImgTitle$>">
<img src="<$mt:AmzImgUrl s=100 $>" alt="<$mt:AmzImgTitle$>"/>
</a>
</mt:AmzImgEnum>
</mt:amzimg>
この例では、以下のように展開される。

<a href="http://www.amazon.co.jp/o/ASIN/4822241912/nyagi2009-22"
 target="_blank"
 title="アマゾン・ドット・コム">
<img src="http://ecx.images-amazon.com/images/I/418EDNHCCRL._SL100_.jpg" alt="アマゾン・ドット・コム"/>
</a>


ダウンロード

Download→amzimg20090715.zip
中身は、amzimg.pl のみ。以下注意事項

  • サーバへ設置する前に
    amzimg.pl コード中に、以下のような箇所なある。
    ここに、貴方の Product Advertising API キー情報を指定する事。 その上で Movable Type にプラグインとして登録すること。
    
    #===============================================================================
    #   your's KEYs
    my  $associate_key  =   '********************';
    my  $secret_key =   '****************************************';
    #===============================================================================
    
    これが無かったり、間違っていたりすると、商品のイメージを取得できないので注意。

    また、Product Advertising API によれば、このキー情報は個人がしっかり管理する事を義務付けられている。

    今回 CGI ファイルに直接記述する形で公開したが、これでは宜しくないとか、もっと簡単で良い方法があるという人は是非お教え願いたい。ホンマに。

  • Digest::SHA モジュール2009年9月24日追記:
    AmzImg プラグインでは、「Digest::SHA」を使用している。しかし、このブログを運用するサーバでは使えなかった為、CPANからモジュールを持ってくる事で対処した。
    →参考:mtプラグインにおける Perl モジュール の配置 について

    公開したコードは、言ってしまえばこのサーバでしか動かないコードとなっている。キー情報を追記する際、状況に応じてコードの修正をお願いしたい。

    1. サーバで「Digest::SHA」が使用可能
      コード中(12行目)の以下の記述を修正。
      
      use Digest::SHA::PurePerl qw(hmac_sha256_base64);
      

      
      use Digest::SHA qw(hmac_sha256_base64);
      

    2. 「Digest::SHA」が使用不可
      mtプラグインにおける Perl モジュール の配置 についてを参考に、hmac_sha256_base64 モジュールを設置。


使用法

  • <mt:AmzImg>
    • asin:必須
      指定された商品の情報を取得する。
    • id:省略可能2011年10月19日追記AmazonAPI仕様変更につき必須項目となります。
      アマゾンアソシエイトID を指定。後述のタグで展開できる。

  • <mt:AmzImgEnum>(<mt:AmzImg>内で使用)
    商品イメージの列挙では、イメージ数が複数になる事が多い。全て表示するのか、任意の1枚か、次のオプションで指定できる。
    • no:省略可能
      取得された画像情報の何番目を対象にするか、数字で指定する。
      指定しないと、取得できたイメージの数だけこのブロックタグを展開する。
      不正な番号を指定すると、空文字になる。
  • <$mt:AmzImgUrl$>(< mt:AmzImgEnum>内で使用)
    画像へのリンクテキストを展開する。リンクタグを展開するわけではない。
    • s:省略可能
      イメージ長辺の大きさ(ピクセル数)を指定できる。 このオプションがない場合、最も大きいイメージへの url になるので注意。

  • <$mt:AmzImgTitle$>(< mt:AmzImgEnum>内で使用)
    取得した情報から、商品のタイトルテキストを展開する。

  • <$mt:AmzImgASIN$>(< mt:AmzImgEnum>内で使用)
    <mt:AmzImg>で指定された asin を展開する。

  • <$mt:AmzImgTag$>(< mt:AmzImgEnum>内で使用)
    <mt:AmzImg>で指定された id を展開する。

アマゾンへ認証を必要とする情報取得のアクセスは、mtタグ を展開する公開の時だけで、 公開時の情報でリンクが作成される。



参考

以下のリンク先のコードを参考にさせて頂きました。




トラックバック(0)

トラックバックURL: http://n-yagi.0r2.net/sanoupulurun/mt-tb.cgi/220

コメント(5)

はじめまして

プラグインを使用させていただこうと思いまして、
サーバーにアップしたところ、システムプラグイン設定で読み込みに失敗してしまいます。
MT4.25をコアサーバー上で動かしていますが、インストールにあたって前提条件などありましたら、お教えいただけますでしょうか?

はじめまして。
こういうプラグインをまさに探していたので、見つけた時はめちゃくちゃうれしかったです。

が、私の知識がPoorなために、うまく実装できていません。
まず使っているのがMT5なのですが、MT5は非対応とかありますか?
また、管理画面の ツール>プラグイン と下っても、それらしきプラグインが見当たらないので、プラグイン自体がうまく設置できていないのかもしれません。

結果、再構築をかけると「 mtamzimg タグでエラーがありました 」となってしまいます。

原因と対処法など分かりましたら、ご教授いただきたく。
よろしくお願いいたしますm(_ _)m

n-yagiさん、こんばんは。
丁寧なお返事ありがとうございます。(&私の返信が遅くなり、大変失礼しました。)

状況、理解しました。私自身の現時点の力では、ソースはいじれそうにありませんが、ほかのサイトも調べて、画像だけは引っ張ってくることができました。

また何かの機会によろしくお願いいたします。

コメントする

ホーム >> 左脳Script >> Movable Type >> Plugin開発 >> Amazon画像URL展開プラグイン

アーカイブ

このブログ記事について

このページは、n-yagiが2009年8月31日 19:48に書いたブログ記事です。

ひとつ前のブログ記事は「PC以外の環境でもフラッシュ再生をしたい」です。

次のブログ記事は「Amazon API 認証について」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。