Mettre à jour MT MediaManager pour l’API Amazon

Image representing Movable Type as depicted in...

Image via CrunchBase

Comme vous le savez, ce blog utilise MediaManager pour Movable Type afin de gérer la médiathèque. Ce plugin utilise l’API d’Amazon afin de récupérer les informations sur les livres, CD, etc. qui sont représentés par des billets. Malheureusement de temps en temps Amazon change son API… depuis quelques temps les requêtes à l’API doivent inclure un paramètre « Associate Tag » dans les requêtes. Alors comment faire pour que MediaManager connaisse ce nouveau paramètre ? Facile suivez ces instructions détaillées !

Dans sa dernière version, MediaManager – et plus précisément son module MTAmazon –
s’appuie en réalité sur le module CPAN
Net::Amazon
. Ce choix de l’auteur de MediaManager permet de ne pas avoir à maintenir
le code d’accès à l’API Amazon contrairement à ce qui était fait dans les premières versions.

Quand on regarde attentivement le contenu du répertoire plugins/MediaManager/extlib/Net
et son fichier Amazon.pm on constate que la version embarquée est la 0.55. La
dernière version disponible au moment où
j’écris ce billet est la 0.61. On va donc commencer par mettre à jour cette version par la
dernière en cours.

  1. Téléchargez la version 0.61 de Net::Amazon
    sur http://search.cpan.org/dist/Net-Amazon/
  2. Décompressez le fichier dans un coin… il y a un répertoire lib qui contient
    un répertoire Net.
  3. Remplacer le répertoire plugins/MediaManager/extlib/Net par le
    répertoire lib/Net décompressé précédemment

Cela ne suffit malheureusement pas à faire fonctionner MediaManager car il
faut que le plugin MTAmazon renseigne l’associate tag. Pour cela on va modifier
le fichier plugins/MediaManager/lib/Amazon/Plugin.pm :

Autour de la ligne 56 repérez le code suivant :

    my $ua = Net::Amazon->new(
token         => $config->{accesskey},
secret_key    => $config->{secretkey},
locale        => $config->{locale},
($cache ? (cache => $cache) : ()),
);

et remplacez le par :

    my $ua = Net::Amazon->new(
token         => $config->{accesskey},
secret_key    => $config->{secretkey},
locale        => $config->{locale},
associate_tag => $config->{associateid},
($cache ? (cache => $cache) : ()),
);

Sauvegardez… et voilà, votre blog devrait à nouveau pouvoir utiliser MediaManager et son extension MTAmazon !

Enhanced by Zemanta

2 pensées sur “Mettre à jour MT MediaManager pour l’API Amazon

  • 14 mars 2012 à 21 h 48 min
    Permalink

    Did you ever figure out how to print an array using Media Manager? It appears to me that it actually returns the number of strings, not an actual array. So you appear to be on the right track by using setvar command & then looping through it. Though your comment from 2 years ago says you didn’t get it to work. Let me know if you figured it out.
    -Tom

    Répondre

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.