我正在使用亚马逊产品广告API。我想得到有报价的产品。
我尝试了amazon-api php类来获取数据,但它无法正常工作。
需要帮助才能获得有报价的产品。
<?php
require_once 'aws_signed_request.php';
class AmazonProductAPI
{
private $public_key = "YOUR AMAZON ACCESS KEY ID";
private $private_key = "YOUR AMAZON SECRET KEY";
/* 'Associate Tag' now required, effective from 25th Oct. 2011 */
private $associate_tag = "YOUR AMAZON ASSOCIATE TAG";
const MUSIC = "Music";
const DVD = "DVD";
const GAMES = "VideoGames";
private function verifyXmlResponse($response)
{
if ($response === False)
{
throw new Exception("Could not connect to Amazon");
}
else
{
if (isset($response->Items->Item->ItemAttributes->Title))
{
return ($response);
}
else
{
throw new Exception("Invalid xml response.");
}
}
}
private function queryAmazon($parameters)
{
return aws_signed_request("com",
$parameters,
$this->public_key,
$this->private_key,
$this->associate_tag);
}
public function searchProducts($search,$category,$searchType="UPC")
{
$allowedTypes = array("UPC", "TITLE", "ARTIST", "KEYWORD");
$allowedCategories = array("Music", "DVD", "VideoGames");
switch($searchType)
{
case "UPC" :
$parameters = array("Operation" => "ItemLookup",
"ItemId" => $search,
"SearchIndex" => $category,
"IdType" => "UPC",
"ResponseGroup" => "Medium");
break;
case "TITLE" :
$parameters = array("Operation" => "ItemSearch",
"Title" => $search,
"SearchIndex" => $category,
"ResponseGroup" => "Offers");
break;
}
$xml_response = $this->queryAmazon($parameters);
return $this->verifyXmlResponse($xml_response);
}
}
任何帮助将不胜感激。
答案 0 :(得分:0)
我知道它已经很晚了,但最近我发现了这篇文章。
首先,您需要澄清您如何向亚马逊产品广告API提出请求,因为可能有几个原因,您没有得到正确的响应对象。 PHP Code base( previously ECS )可以帮助您正确启动。
关于优惠 - 当您获得&#34; itemlookup&#34;响应有关键&#34; OfferSummary&#34;和&#34;提供&#34;它为您提供所需产品的详细信息(您已启动itemLookup的ASIN)。