получить ItemId в Amazon Product Api с помощью драгоценного камня Rails Vacuum

Я интегрирую Amazon Product Api в свое приложение rails. Я использую вакуумный камень для этой интеграции. Есть две основные страницы. Я получаю продукты через этот код.

    requestd = Vacuum.new

    requestd.configure(
    aws_access_key_id: ENV["AWS_ACCESS_KEY_ID"],
    aws_secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
    associate_tag: ENV['ASSOCIATE_TAG']
    )

    response = requestd.item_search(
    query: {
        'SearchIndex' => @category.search_index,
        'Keywords' => @category.keyword,
        'ResponseGroup' => "ItemAttributes,Images"
    }
    )

    hashed_products = response.to_h

    @products = []

    hashed_products['ItemSearchResponse']['Items']['Item'].each do |item|
      product = OpenStruct.new
      product.name = item['ItemAttributes']['Title']
      product.price = item['ItemAttributes']['ListPrice']['FormattedPrice'] if item['ItemAttributes']['ListPrice']
      product.url = item['DetailPageURL']
      product.feature = item['ItemAttributes']['Feature']
      product.image_url = item['LargeImage']['URL'] if item['LargeImage']
      product.link = item['ItemLinks']['ItemLink'][5]['URL']
      @products << product
    end

Он дает десять продуктов с соответствующим запросом. Но когда я хочу перейти на страницу сведений о продукте в своем приложении и показать соответствующие сведения в своем приложении, мне нужен ItemId этого продукта, как указано в документах vaccum.

response = request.item_lookup(
  query: {
    'ItemId' => '0679753354'
  }
)

Но я не могу получить этот идентификатор. Когда я пишу ItemId или ItemIds в группе ответа, я этого не понимаю, хотя это атрибут, который можно записать в ResponseGroup в соответствии с Amazon Docs. Мне нужно, чтобы этот ItemId для операции цикла элемента был выполнен, чтобы я получал обзоры и другие сведения, относящиеся к этому продукту, отдельно.


person techdreams    schedule 31.01.2016    source источник
comment
Не могли бы вы дополнить свой вопрос ответом (в XML, JSON или любой другой форме), который вы получили от операции ItemSearch? Если вы получили ответ с десятью элементами, каждый элемент должен содержать свой идентификатор (атрибут ASIN).   -  person CyberMJ    schedule 01.02.2016


Ответы (1)


Я не знаком с Ruby, но подход должен быть одинаковым для всех языков программирования. Атрибут ItemId, который вы ищете, называется ASIN, и вы сможете получить его следующим образом. :

product.asin = item['ASIN']
person CyberMJ    schedule 01.02.2016