Существует ли актуальный пример c # для API продукта Amazon? - PullRequest
7 голосов
/ 22 декабря 2011

Я пытаюсь создать небольшое приложение, которое взаимодействует с API продукта Amazon (узнать цены статей и т. Д.)

К сожалению, все примеры C # для взаимодействия с сервисом Amazon WCF IНашли пока что устаревшие.Я знаю, что Amazon решил, что каждый вызов службы должен быть подписан с использованием личных accessKeyId и secretKey, поэтому все минимальные примеры кода старше 2009 года (я думаю, что они сделали изменения в 2009 году) бесполезны.Официальная документация Amazon также бесполезна для меня, поскольку она не предоставляет необходимой информации.

Я также погуглил два урока о том, как получить доступ к API, и следуя им, вы не получите результатов поиска ниsearch tearm или просто null.

Имеется ли где-нибудь актуальный (работающий !!) минимальный образец?

Ответы [ 3 ]

3 голосов
/ 04 июля 2016

Я нашел актуальный проект, код доступен на github Nager.AmazonProductAdvertising

nuget

PM> install-package Nager.AmazonProductAdvertising

Пример

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

var wrapper = new AmazonWrapper(authentication, AmazonEndpoint.DE, "YourAssociateID");
var result = wrapper.Lookup("B0037X9N5U");
2 голосов
/ 18 января 2012

Итак, я наконец-то нашел решение, основываясь на комментарии, размещенном здесь: http://www.falconwebtech.com/post/2010/06/14/Using-WCF-and-SOAP-to-Send-Amazon-Product-Advertising-API-Signed-Requests.aspx Это также URL, с которого я скачал код, который заставил работать.

Я не прошелмой "Ваш уникальный идентификатор сотрудника", который у меня даже не было до сих пор.Вы можете получить его здесь: https://affiliate -program.amazon.com /

Добавить

itemSearch.AssociateTag = "YourAssociateID";

до amazonClient.ItemSearch(itemSearch).

Работкак шарм

1 голос
/ 24 мая 2012

, если решение выше не будет работать.

попробуйте это .. (я использую Microsoft Visual Studio 2010)

загрузить образец кода на http://www.falconwebtech.com/post/2010/06/14/Using-WCF-and-SOAP-to-Send-Amazon-Product-Advertising-API-Signed-Requests.aspx

нам нужно обновить ссылки на сервисы, внести небольшие изменения в app.config, program.cs и reference.cs.

app.config:
(1.)
тег appSettings; назначить значения accessKeyId и secretKey, добавить
<add key="associateTag" value="yourAssociateTag" />.
(2.) тег поведения -> тег endpointBehaviors -> тег поведения -> тег signatureBehavior; назначьте значения accessKeyId и secretKey.
(3.) тег привязок -> тег basicHttpBinding; (необязательный) удалить тег привязки, кроме AWSECommerceServiceBindingNoTransport и AWSECommerceServiceBindingTransport.
(4.) тег клиента;
удалить тег конечной точки, кроме AWSECommerceServiceBindingTransport.

Program.cs:
add itemSearch.AssociateTag = ConfigurationManager.AppSettings ["associateTag"]; before ItemSearchResponse response = amazonClient.ItemSearch (itemSearch);

reference.cs: (открыть файл в папке с сервисными ссылками в Visual Studio)
изменить private ImageSet [] [] imageSetsField; в приватный ImageSet [] imageSetsField;
изменить общедоступный набор изображений [] [] ImageSets {...} на общедоступный набор изображений [] ImageSets {...}

наконец-то мы можем запустить нашу программу, и она будет работать. удачи ..

nb: будет 1 предупреждение (недопустимое поведение при подписании дочерних элементов), я думаю, что мы можем его игнорировать, или, если у вас есть какое-либо решение, поделитесь .. ^^ v ..

...