Amazon API не показывает цену при использовании ASIN

Мне нужно получить самые продаваемые книги вместе с деталями от Amazon JP.

На данный момент я могу получить самые продаваемые книги, но это дает только ASIN и TITLE за каждый предмет.

<TopSeller>
<ASIN>4047318752</ASIN>
<Title>艦これ白書 -艦隊これくしょん オフィシャルブック-</Title>
</TopSeller>

Поэтому мне нужно получить детали элемента отдельно. Я могу получить подробности сейчас, но PRICE нет, даже если я включу OFFERS и его варианты.

Это uri, который я использую:

http://webservices.amazon.co.jp/onca/xml?" .
                "Service=AWSECommerceService" .
                "&Operation=ItemLookup" .
                "&BrowseNodeId=465610" .
                "&MerchantId=Amazon" .
                "&Condition=All" .
                "&IdType=ASIN" .
                "&Availability=Available" .
                "&Version=2011-08-01" .
                "&AssociateTag=$this->associateTag" .
                "&BrowseNode=17".
                "&ItemId=$itemIds" .
                "&ResponseGroup=OfferFull";

Это работает, просто цена не указана, и я просто пропустил другой ResponseGroup.

Если у вас есть другая идея получить самые продаваемые книги с подробностями и ценой. Я был бы более чем счастлив увидеть это.

По запросу CyberMJ:

Запрос:

"http://webservices.amazon.co.jp/onca/xml?" .
            "Service=AWSECommerceService" .
            "&Operation=ItemLookup" .
            "&BrowseNodeId=465610" .
            "&MerchantId=Amazon" .
            "&Condition=All" .
            "&IdType=ASIN" .
            "&Availability=Available" .
            "&Version=2011-08-01" .
            "&AssociateTag=$this->associateTag" .
            "&BrowseNode=17".
            "&ItemId=$itemIds" .
            "&ResponseGroup=Variations";

Ответ:

    <ItemLookupResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2011-08-01">
<OperationRequest>
<HTTPHeaders>
<Header Name="UserAgent" Value="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36"/>
</HTTPHeaders>
<RequestId>b66dda52-62bf-495e-abd5-f2f9a8d96eeb</RequestId>
<Arguments>
<Argument Name="Condition" Value="All"/>
<Argument Name="Operation" Value="ItemLookup"/>
<Argument Name="Service" Value="AWSECommerceService"/>
<Argument Name="AssociateTag" Value="mediabooks0db-20"/>
<Argument Name="BrowseNode" Value="17"/>
<Argument Name="Version" Value="2011-08-01"/>
<Argument Name="Signature" Value="/tC4kFaeaxsvL11YLthHe09PHKUQVAxTTZrf6D8FXiw="/>
<Argument Name="Availability" Value="Available"/>
<Argument Name="MerchantId" Value="Amazon"/>
<Argument Name="ItemId" Value="B00DYKPPGM,4047318752,4103345918,4047292664,B00DYKPPGM,4758007837"/>
<Argument Name="BrowseNodeId" Value="465610"/>
<Argument Name="IdType" Value="ASIN"/>
<Argument Name="AWSAccessKeyId" Value="AKIAIGEZH2RG5QKAUQ5Q"/>
<Argument Name="Timestamp" Value="2013-09-19T12:04:18Z"/>
<Argument Name="ResponseGroup" Value="Variations"/>
</Arguments>
<RequestProcessingTime>0.0160898510000000</RequestProcessingTime>
</OperationRequest>
<Items>
<Request>
<IsValid>True</IsValid>
<ItemLookupRequest>
<Condition>All</Condition>
<IdType>ASIN</IdType>
<MerchantId>Deprecated</MerchantId>
<ItemId>B00DYKPPGM</ItemId>
<ItemId>4047318752</ItemId>
<ItemId>4103345918</ItemId>
<ItemId>4047292664</ItemId>
<ItemId>B00DYKPPGM</ItemId>
<ItemId>4758007837</ItemId>
<ResponseGroup>Variations</ResponseGroup>
<VariationPage>All</VariationPage>
</ItemLookupRequest>
</Request>
<Item>
<ASIN>B00DYKPPGM</ASIN>
</Item>
<Item>
<ASIN>4047318752</ASIN>
</Item>
<Item>
<ASIN>4103345918</ASIN>
</Item>
<Item>
<ASIN>4047292664</ASIN>
</Item>
<Item>
<ASIN>4758007837</ASIN>
</Item>
</Items>
</ItemLookupResponse>

person Ironwind    schedule 18.09.2013    source источник
comment
Вы используете неправильную ResponseGroup. Пожалуйста, взгляните на этот пост, это тот же вопрос, и я дал ответ. stackoverflow.com/questions/12923080/   -  person CyberMJ    schedule 19.09.2013
comment
Вы предложили, что группа ответов «Вариации» не дала мне ничего, кроме asin в ответе API. Но вы дали мне информацию о несоответствии в aws api, я поднял ваш ответ там в качестве благодарности.   -  person Ironwind    schedule 19.09.2013
comment
Можете ли вы опубликовать здесь как запрос, так и ответ (XML) с установленным в запросе RG «Вариации». Возможно, группа ответа «Варианты» вообще недоступна.   -  person CyberMJ    schedule 19.09.2013
comment
Я отредактировал сообщение, чтобы включить то, что вы просили.   -  person Ironwind    schedule 19.09.2013
comment
Из вашего запроса я вижу, что вы вызываете операцию &Operation=ItemSearch вместо &Operation=ItemLookup. Вы должны вызвать операцию ItemLookup (как вы это делали в исходном примере), чтобы получить группу ответов «Вариации». Пожалуйста, измените свой запрос и опубликуйте ответ еще раз.   -  person CyberMJ    schedule 19.09.2013
comment
Ой извините за это, я отредактировал это снова.   -  person Ironwind    schedule 19.09.2013
comment
Я пытался воспроизвести это поведение, но безуспешно, хотя я использую (американский) Amazon API. Возможно ли, что проблема связана с «Amazon jp»? Если у вас есть учетная запись для любого другого API Amazon, вы можете попытаться воспроизвести проблему. В противном случае я не могу вам помочь, так как ваша просьба действительна.   -  person CyberMJ    schedule 19.09.2013
comment
У меня аналогичная проблема с AZ USA, так что это не ограничивается JP. Однако проблема возникает только с некоторыми товарами, вероятно, теми, которые Amazon предлагает через продавцов, а не напрямую (хотя это происходит не всегда). Я перепробовал сотни вариантов кода, и ничто не возвращает цену на эти предметы.   -  person Jay    schedule 26.09.2013


Ответы (1)


Кажется, я разобрался, попробуйте изменить группу ответов на

responseGroup('Большой,VariationSummary')

А затем получить цену через

$response->Items->Item->VariationSummary->LoestPrice->Amount

Добавление VariationSummary позволило мне получить цены на несколько предметов, которые отсутствовали.

person Jay    schedule 25.09.2013