【问题标题】:Php - Get Current Price of amazon products using Amazon APIPhp - 使用 Amazon API 获取亚马逊产品的当前价格
【发布时间】:2015-07-21 07:09:50
【问题描述】:

我已经使用以下代码成功实现了亚马逊产品搜索:

I don't get prices with Amazon Product Advertising API.

现在我正在尝试从亚马逊获取产品的当前价格。我只得到零售价。

例如,当我尝试使用 amazon API 获取产品价格:http://www.amazon.com/gp/product/0743273567/ref=ox_sc_act_title_1?ie=UTF8&psc=1&smid=ATVPDKIKX0DER 时,我得到以下值:

ListPrice] => Array
                    (
                        [0] => Array
                            (
                                [Amount] => 1500
                                [CurrencyCode] => USD
                                [FormattedPrice] => $15.00
                            )

                    )
....

[OfferSummary] => Array
    (
        [0] => Array
            (
                [LowestNewPrice] => Array
                    (
                        [0] => Array
                            (
                                [Amount] => 343
                                [CurrencyCode] => USD
                                [FormattedPrice] => $3.43
                            )

                    )

                [LowestUsedPrice] => Array
                    (
                        [0] => Array
                            (
                                [Amount] => 250
                                [CurrencyCode] => USD
                                [FormattedPrice] => $2.50
                            )

                    )

                [LowestCollectiblePrice] => Array
                    (
                        [0] => Array
                            (
                                [Amount] => 995
                                [CurrencyCode] => USD
                                [FormattedPrice] => $9.95
                            )

                    )
.....

[OfferListing] => Array
                                    (
                                        [0] => Array
                                            (
                                                [OfferListingId] => nmbRKFxxDoRqoOL8kMzXNMkb9X2XWMB44HkNuwC49%2F8Yfcc96dCsb3rHWjDaIQT9fWHO%2BUGNIXWaBug5raFqChfsnCsdiGqPu4F7x0PZSPByUJd5zQ%2BM0%2FuuINUX917HJRDhHGwa9HTfCSlqfJlAB5V62ZgCa%2FmY
                                                [Price] => Array
                                                    (
                                                        [0] => Array
                                                            (
                                                                [Amount] => 343
                                                                [CurrencyCode] => USD
                                                                [FormattedPrice] => $3.43
                                                            )

                                                    )

                                                [AmountSaved] => Array
                                                    (
                                                        [0] => Array
                                                            (
                                                                [Amount] => 1157
                                                                [CurrencyCode] => USD
                                                                [FormattedPrice] => $11.57
                                                            )

                                                    )

                                                [PercentageSaved] => 77 .....

在 ListPrice 参数中可以看到零售价:$15.00,但我在 api 响应中的任何位置都找不到当前价格:$7.70

我还尝试了各种响应组,例如:Offer、OfferFull、Large、Medium 等。

请帮助我。 提前致谢!

【问题讨论】:

    标签: php amazon-web-services amazon amazon-product-api


    【解决方案1】:

    这可能有点晚,但要获取当前价格,您需要包含 Offers Responsegroup ,然后从该节点获取当前价格

    $price = htmlentities((string) $item->Offers->Offer->OfferListing->Price->Amount);
    

    因为 XML 实际上看起来像这样

    <Item> 
      <ASIN>B00KOKTZLQ</ASIN> 
      <OfferSummary> 
        <LowestNewPrice> 
          <Amount>3998</Amount> 
          <CurrencyCode>USD</CurrencyCode> 
          <FormattedPrice>$39.98</FormattedPrice> 
        </LowestNewPrice>  
        <TotalNew>4</TotalNew> 
        <TotalUsed>0</TotalUsed> 
        <TotalCollectible>0</TotalCollectible> 
        <TotalRefurbished>0</TotalRefurbished> 
      </OfferSummary> 
      <Offers> 
        <TotalOffers>1</TotalOffers> 
        <TotalOfferPages>1</TotalOfferPages> 
        <MoreOffersUrl>
        https://www.amazon.com/gp/offer-listing/B00KOKTZLQ/?&AWSAccessKeyId=[Your_AWSAccessKeyID]&ie=UTF8&tag=[Your_AssociateTag]%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3DB00KOKTZLQ
        </MoreOffersUrl> 
        <Offer> 
          <OfferAttributes> 
            <Condition>New</Condition> 
          </OfferAttributes> 
          <OfferListing> 
            <OfferListingId>  
             LYcccWDl3oNWXKkngMuydLjjKXsOR4AO2tGTdMW%2BNOA%2F%2FV61ektF%2FstkahL39vySB75wmcQJ7lsWOW3NAjVZpwgnQnxZE62sf%2B34NWSBuAzkkR7lCjtGLXn0aFfQ5KAGmNFYzScqWHSecKmnMA%2BuBA%3D%3D 
            </OfferListingId> 
            <Price>  
              <Amount>6000</Amount>  
              <CurrencyCode>USD</CurrencyCode>  
              <FormattedPrice>$60.00</FormattedPrice> 
            </Price> 
            <SalePrice>
                <Amount>4495</Amount>
                <CurrencyCode>USD</CurrencyCode>
                <FormattedPrice>$44.95</FormattedPrice>
            </SalePrice>
            <AmountSaved>
                <Amount>1505</Amount>
                <CurrencyCode>USD</CurrencyCode>
                <FormattedPrice>$15.05</FormattedPrice>
            </AmountSaved>
            <PercentageSaved>25</PercentageSaved>
            <Availability>Usually ships in 1-2 business days</Availability> 
            <AvailabilityAttributes>  
              <AvailabilityType>now</AvailabilityType>  
              <MinimumHours>24</MinimumHours>  
              <MaximumHours>48</MaximumHours> 
            </AvailabilityAttributes> 
            <IsEligibleForSuperSaverShipping>0</IsEligibleForSuperSaverShipping>
            <IsEligibleForPrime>0</IsEligibleForPrime>
          </OfferListing> 
        </Offer> 
      </Offers>
    </Item>
    

    【讨论】:

      【解决方案2】:

      来自amazon docs,它建议Operation=ItemLookup 返回产品数据,并从该响应中获得&lt;LowestNewPrice&gt;&lt;Amount&gt; 标签,它会为您提供所请求商品的最新价格。所以请参考亚马逊提供的那个文件。

      希望对你有所帮助。

      谢谢!

      【讨论】:

      • 感谢您的回复。我已经将“LowestNewPrice”设为“$3.43”(请检查问题中提供的 xml)。有什么办法可以让当前的价格为 7.70 美元?
      • 你有没有想过这个问题?它也对我们有很大帮助。
      【解决方案3】:

      您可以通过以下响应组轻松获取价格: responseGroup('Medium,OfferSummary,VariationSummary')

      关键:VariationSummary 有你可以找到的对象:

      • 最低价
      • 最高价
      • 最低销售价格
      • 最高售价

      请注意,您可能无法在variationSummery 对象中获得所有上述价格参数,因此请相应地进行检查。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-03
        • 1970-01-01
        • 2013-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多