Как узнать цену товара на сайте с PA API - PullRequest
0 голосов
/ 10 апреля 2019

Так что я совершенно новичок в AWS, и на первый взгляд это кажется очень сложным.Мой план состоял в том, чтобы получить цены на товары на моем сайте, используя их ASIN.Поэтому я пошел к блокноту и постарался изо всех сил, но независимо от того, что я делаю, я получаю ошибку 503, говоря, что я отправляю много запросов быстро, что, очевидно, не так.Я пробовал это 4-5 раз за последние 2 дня, но та же ошибка остается.

На форуме поддержки я нашел людей с похожей проблемой и некоторыми ответами о том, что новые правила позволяют веб-сайтам с высокой прибылью отправлять запросы.Теперь мой сайт должен сравнивать цены, и без отображения последних цен моя прибыль не достигнет точки, в которой я смогу отправлять запросы.Это то, что Scratchpad дал мне:

 <?php

 // Your Access Key ID, as taken from the Your Account page
 $access_key_id = "Here is my access key";

 // Your Secret Key corresponding to the above ID, as taken from the Your                Account page
 $secret_key = "Here is my secret key";

 // The region you are interested in
 $endpoint = "webservices.amazon.de";

 $uri = "/onca/xml";

 $params = array(
     "Service" => "AWSECommerceService",
     "Operation" => "ItemLookup",
     "AWSAccessKeyId" => "Here is my access-key",
     "AssociateTag" => "veganvergleic-21",
     "ItemId" => "B078B745K3",
     "IdType" => "ASIN",
     "ResponseGroup" => "ItemAttributes,Offers"
 );

 // Set current timestamp if not set
 if (!isset($params["Timestamp"])) {
     $params["Timestamp"] = gmdate('Y-m-d\TH:i:s\Z');
 }

 // Sort the parameters by key
 ksort($params);

 $pairs = array();

 foreach ($params as $key => $value) {
     array_push($pairs, rawurlencode($key)."=".rawurlencode($value));
 }

 // Generate the canonical query
 $canonical_query_string = join("&", $pairs);

 // Generate the string to be signed
 $string_to_sign = "GET\n".$endpoint."\n".$uri."\n".$canonical_query_string;

 // Generate the signature required by the Product Advertising API
 $signature = base64_encode(hash_hmac("sha256", $string_to_sign,      $secret_key, true));

 // Generate the signed URL
 $request_url =      'https://'.$endpoint.$uri.'?'.$canonical_query_string.'&Signature='.rawurlenco     de($signature);

 echo "Signed URL: \"".$request_url."\"";

 ?>

Так что, если в том, что я сделал, нет ничего плохого, и у меня нет возможности отправлять запросы, как я могу узнать цены на моем сайте, используяКАК В?У меня заканчиваются идеи, чтобы заставить это работать.

Любая помощь высоко ценится!

1 Ответ

2 голосов
/ 12 апреля 2019

API рекламы продуктов Amazon не работает должным образом, если у вас еще нет продаж.Если вы этого не сделаете, вам нужно либо поцарапать его самостоятельно, либо использовать сторонний API.Мы используем amazon-price API от RapidAPI, он поддерживает выборку цены / рейтинга / количества отзывов для до 1000 продуктов в одном запросе.

...