2015-11-07 4 views
0

Я пытаюсь получить данные из «API рекламы продукта Amazon», и я вижу, что мне нужно подписать мой запрос, а затем ответ - это XML-документ, который нужно разобрать.

Интересно, есть ли какая-либо библиотека, которую я могу отправить мои запросы через tt, и получить ответ обратно как объект.Библиотека C# для API рекламы продукта Amazon

Если нет, что мне делать, чтобы преобразовать эти XML-репоны в объект? Я читал о схемах, но откуда мне получить эти схемы и откуда я получаю защиту от объектов ответа, чтобы я мог определить их самостоятельно.

Спасибо большое!

+0

AWS имеет C# SDK, который обрабатывает запросы подписи и анализирует ответы. Вы изучили это? Я не использовал рекламную рекламу продукта, но я уверен, что он покрывает этот API тоже –

+0

IMHO, XML DOM - это объект. Пересмотрите, почему вам нужен ответ в POCO, вы можете обнаружить, что преобразование в промежуточный объект просто накладные. Вероятно, вы a) вставляете в БД, б) представляете HTML. Оба могут быть легко выполнены с данными, остающимися в XML, а не с POCO. –

ответ

0

Существует библиотека, которая помогает вам подписывать запросы и обрабатывать ответы путем преобразования XML в относительно простой в использовании объект. Я использую его в течение нескольких недель и написал свои собственные вспомогательные классы, чтобы действительно быстро и просто запросить API.

Я написал демо консольного C# приложение, где вы можете просто подключить в учетные данные Amazon и начать играть здесь: https://github.com/zoenberger/AmazonProductAdvertising

Я также ответил на аналогичный вопрос здесь: https://stackoverflow.com/a/33617604/5543992

1

Вы можете использовать Следующий пакет nuget

PM> Install-Package Nager.AmazonProductAdvertising 

Пример:

var authentication = new AmazonAuthentication(); 
authentication.AccessKey = "accesskey"; 
authentication.SecretKey = "secretkey"; 

var wrapper = new AmazonWrapper(authentication, AmazonEndpoint.DE); 
//Search 
var result = wrapper.Search("canon eos", AmazonSearchIndex.Electronics, AmazonResponseGroup.Large); 
//Lookup 
result = wrapper.Lookup("B00BYPW00I"); 
+0

Привет, когда я пытаюсь запустить код выше, результат всегда возвращает null. Я не думаю, что у меня проблема с AccessKey и SecretKey, но я не могу найти, в чем проблема. Есть ли у вас предложения? – Grcn

+1

проверить ответ этого события 'wrapper.ErrorReceived + = (errorResonse) => {System.Diagnostics.Debug.WriteLine (errorResonse.Error.Message); }; ' – live2

+0

Большое спасибо за ваш ответ. Я реализовал событие, но ошибка не вернулась. Есть ли что-нибудь, что я могу проверить? – Grcn