亚马逊产品广告api获得产品提供

时间:2015-06-26 15:41:24

标签: php amazon-web-services amazon

我正在使用亚马逊产品广告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);

}

}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我知道它已经很晚了,但最近我发现了这篇文章。

首先,您需要澄清您如何向亚马逊产品广告API提出请求,因为可能有几个原因,您没有得到正确的响应对象。 PHP Code base( previously ECS )可以帮助您正确启动。

关于优惠 - 当您获得&#34; itemlookup&#34;响应有关键&#34; OfferSummary&#34;和&#34;提供&#34;它为您提供所需产品的详细信息(您已启动itemLookup的ASIN)。