Problème avec Amazon Webservices

Signaler
Messages postés
2
Date d'inscription
vendredi 25 septembre 2009
Statut
Membre
Dernière intervention
28 septembre 2009
-
Messages postés
2
Date d'inscription
vendredi 25 septembre 2009
Statut
Membre
Dernière intervention
28 septembre 2009
-
Bonjour à tous,
J'ai développé il y a un an une application en C# pour la gestion d'une médiathèque dans une école.
J'utilisai le Webservice d'Amazon afin de limiter l'encodage via le scanning du code barre EAN13.
Tout marchait très bien, mais depuis la rentrée en septembre, la fonction de recherche chez Amazon ne répond plus.
J'ai un peu fouillé sur le net et je crois avoir compris que la procédure avait changé depuis le 15 août 2009.
J'ai été sur le site d'Amazon, mais je suis sans doute trop bête pour trouver la solution.
Je vous donne ci-dessous mes lignes de code qui ne fonctionnent plus.
Pourriez-vous, dans votre immense bonté, aider un abruti qui y perd son latin ?
Je pense que le souci se trouve dans les lignes que j'ai mis en rouge.
Merci de votre aide.


static public ObjetAmazon RechercheViaAmazonWebService(string barCode)
{
ObjetAmazon retVal = null;

Int32 nb = 13 - barCode.Length;
for (Int32 cpt = 0; cpt < nb; cpt++)
barCode = "0" + barCode;

try
{
string[] listeTypes ={ "Books", "ForeignBooks", "Music", "Classical", "DVD", "VHS", "Toys", "Video", "Software", "VideoGames", "SoftwareVideoGames" };
string[] thisEAN = { "" };
string EAN = "";
string groupe = "";
string titre = "";
string Èditeur = "";
string auteur = "";
string artiste = "";
string rÈalisateur = "";

bool TrouvÈ = false;
AWSECommerceService service = new AWSECommerceService();
service.Url = "http://soap.amazon.fr/onca/soap?Service=AWSECommerceService";

ItemLookup itemLookup = new ItemLookup();
ItemLookupRequest request = new ItemLookupRequest();
itemLookup.SubscriptionId = Properties.Settings.Default.Amazon_WebService_SubscriptionID;

request.ResponseGroup = new string[] { "ItemAttributes" };

thisEAN[0] = barCode;
request.ItemId = thisEAN;
request.IdType = ItemLookupRequestIdType.EAN;
request.IdTypeSpecified = true;

for (int cptTypes 0; cptTypes < listeTypes.Length && TrouvÈ false; cptTypes++)
{
request.SearchIndex = listeTypes[cptTypes];

itemLookup.Request = new ItemLookupRequest[] { request };
ItemLookupResponse response = service.ItemLookup(itemLookup);

Items info = response.Items[0];
if (info.Item != null)
{
TrouvÈ = true;
Item[] items = info.Item;
for (int i = 0; i < items.Length; i++)
{
Item item = items[i];

EAN = item.ItemAttributes.EAN;
groupe = item.ItemAttributes.ProductGroup;
titre = item.ItemAttributes.Title;
Èditeur (item.ItemAttributes.Publisher null) ? "" : item.ItemAttributes.Publisher;
auteur (item.ItemAttributes.Author null) ? "" : item.ItemAttributes.Author[0];
artiste (item.ItemAttributes.Artist null) ? "" : item.ItemAttributes.Artist[0];
rÈalisateur (item.ItemAttributes.Director null) ? "" : item.ItemAttributes.Director[0];

if (groupe == "Music")
auteur = artiste;
else if (groupe "DVD" || groupe "Video")
auteur = rÈalisateur;
else if (groupe "Toy" || groupe "VideoGames" || groupe == "Software")
auteur = Èditeur;

}
retVal = new ObjetAmazon(titre, auteur, Èditeur);
}
}
}
catch
{
MessageBox.Show("Le numÈro de souscription au WebServices Amazon n'est pas correct, voir Administration - Configuration !");
}
return retVal;
}

2 réponses

Messages postés
28
Date d'inscription
dimanche 24 août 2003
Statut
Membre
Dernière intervention
28 septembre 2009

Hello lulubisbis !

Oui en effet de ce que j'ai lu, depuis le 15 aout 2009, toute tes requêtes doivent être "signées" !

il y a cet exemple qui illustre l'utilisation de requête signée :

Exemple de requête

j'espère que cela pourra t'aider ;)


CrougniMan
Messages postés
2
Date d'inscription
vendredi 25 septembre 2009
Statut
Membre
Dernière intervention
28 septembre 2009

Merci CrougniMan !
Je vais étudier cela de près et si je suis trop bête, vous entendrez encore parler de moi !
A+ et merci encore.