Как начать использовать amazon api ASP.NET с#
привет
я только начинаю использовать AMAZON API в своем ASP.NET веб-сайт. проблема в том, что я много ищу об amazon api, что, как использовать его в asp.net c# но я не мог найти ничего лучшего для моего понимания. я просто новичок в api, поэтому хочу просто простой код, чтобы показать продукты на моем сайте со ссылкой на покупку.
Я нашел пример кода, но есть некоторые ошибки, такие как " удаленный сервер вернул ошибку: (400) плохой запрос"
Поэтому, пожалуйста, ребята, помогите мне исправить ошибки или предоставьте мне какой-нибудь лучший код
СПАСИБО
Что я уже пробовал:
public partial class _Default : System.Web.UI.Page { //Set your Access Key and Secret Key in following variables. private const string MY_AWS_ACCESS_KEY_ID = "my access key"; private const string MY_AWS_SECRET_KEY = "my secret key"; private const string DESTINATION = "ecs.amazonaws.com"; protected void Page_Load(object sender, EventArgs e) { } protected void btnSearch_Click(object sender, EventArgs e) { //Use SignedRequesthelper class to generate signed request. SignedRequestHelper helper = new SignedRequestHelper(MY_AWS_ACCESS_KEY_ID, MY_AWS_SECRET_KEY, DESTINATION); IDictionary<string, string> requestParams = new Dictionary<string, String>(); requestParams["Service"] = "AWSECommerceService"; //Leave following line commented if you want to use latest version of Amazon API. You can uncomment this line to use a specific version. requestParams["Version"] = "2009-03-31"; //requestParams["Operation"] = "ItemLookup"; requestParams["Operation"] = "ItemSearch"; requestParams["SearchIndex"] = selectCategories.Value; requestParams["Keywords"] = txtSearch.Text; //Get signed URL in a variable string requestUrl = helper.Sign(requestParams); //Get response from signed request DataSet DS = GetData(requestUrl); if (DS != null) { //Bind ItemAttributes table returned in dataset. This will give you product details. gridViewAttributes.DataSource = DS.Tables["ItemAttributes"]; gridViewAttributes.DataBind(); //Bind Item table returned in dataset. This will give you product link page. gridViewItem.DataSource = DS.Tables["Item"]; gridViewItem.DataBind(); lblError.Text = ""; //You can set debug point here and inspect content of Datased(DS). //it has few more tables that you might be interested in. } } DataSet GetData(string signedurl) { try { //Create a request object using signed URL. WebRequest request = HttpWebRequest.Create(signedurl); //Get response in a stream //WebRequest request = HttpWebRequest.Create(url); //WebResponse response = request.GetResponse(); Stream responseStream = request.GetResponse().GetResponseStream(); // Stream responses = request.GetResponse().GetResponseStream(); DataSet DS = new DataSet(); //Read returned resonpse stream into a dataset. //Note: You can also use XMLDocument element here to read response. DS.ReadXml(responseStream); responseStream.Close(); return DS; } catch (Exception e) { //If there is an error capture it. //If you get an error, it could be either because of invalid keyword or you provided wrong access key. lblError.Text = e.Message; Response.Write("Caught Exception: " + e.Message); Response.Write("Stack Trace: " + e.StackTrace); } return null; }
manibsharma
Похоже, вам не хватает какого-то параметра для передачи. Просто убедитесь, что у вас есть URL-адрес и параметры правильно на месте. Пожалуйста, предоставьте трассировку стека ошибок, чтобы подробнее ознакомиться с деталями.
navi G
Пойманное исключение: удаленный сервер вернул ошибку: (400) плохой запрос.Трассировка стека: at System.Net.HttpWebRequest.GetResponse() at _Default.GetData(строка signedurl)