④PHPでAmazon MWS APIを使って商品名をXMLで表示してみる。

さて、前回は、入力フォームからASINを入力し、カート価格を表示することに成功しました!

パチパチパチパチ

前回を読んでいない方は、こちらからどうぞ。
③PHPで入力フォームからASINを入力してカート価格を表示してみる。

 

今回は、ASINから商品名のはいったXMLを取得してみたいと思います。

 

一度に、全部の商品情報が取得できない仕様は、いかがなものかと思いますが、まあ仕方がありません(笑)

 

ちなみに、私は、PHPはド素人ですので

出来なかったらごめんなさいということで(笑)

 

では、さっそくやってみましょう!

商品名を取得するPHPをコーディング

さて今回も、Google先生に聞きます(笑)

 

参考にしたサイトはこちらです。
参考 AmazonMWSAPIを手っ取り早く動かす方法 其の3

こちらのサイトは、今回の目的の処理がそのまま書かれています(笑)
本当にありがたいサイトです。

 

参考にしたサイトはこちらです2。
参考 MWS APIを使って商品名や重量やサイズ(縦横高さ)を取得する方法

こちらのサイトも、すごく勉強になります。
本当にありがたいサイトです。

 

公式マニュアルのこちらも参考。
参考 Amazon MWS商品APIセクションについて知っておくべきこと

 

ではさっそく、GetMatchingProductForIdSample.php を編集していきます。

 

修正ポイントは、上の参考サイトのものを真似します(笑)

 

ここから先をご参照される方は、完全なる自己責任となりますのでご了承ください(笑)

 

では、何とか動いたファイルの修正点になります。

 

GetMatchingProductForIdSample.php の以下を修正します。


39行目の//(コメントアウト)を削除しました。

「日本AmazonのMWSサービスを利用します」という設定ですね。

 


79行目から85行目の色のついたところが、今回追加した所です。

 

ASINは、直接コードに書いています。

 

コピペできるように、こちらにコードを記述しておきます。

php
 $request->setMarketplaceId(MARKETPLACE_ID);
 $request->setIdType("ASIN");
 $asinList = new MarketplaceWebServiceProducts_Model_IdListType();
 $asinList->setId("B0035ESZBY");
 $request->setIdList($asinList);

 

コードを実行した結果

では、ブラウザから実行してみましょう!

私のPC環境では、以下のようになっています。

http://localhost/php/mws/MWSProductsPHPClientLibrary-2011-10-01._CB481727082_/src/MarketplaceWebServiceProducts/Samples/GetMatchingProductForIdSample.php

 

すると、以下のような画面になります。

ここで右クリックし、「ページのソースを表示」をクリックします。

 

すると、このようにXML形式で表示されます。46行目に<ns2:Title>という記述があります。

こちらが、商品名になります。

 

商品名の取得成功です!やりましたーー!!

 

XMLなので日本語が読めないですが(笑)

 

コピペできるようにこちらにコードを記述しておきます。
使うかわかりませんが(笑)

XML
Service Response
=============================================================================
<?xml version="1.0"?>
<GetMatchingProductForIdResponse xmlns="http://mws.amazonservices.com/schema/Products/2011-10-01">
  <GetMatchingProductForIdResult Id="B0035ESZBY" IdType="ASIN" status="Success">
    <Products>
      <Product>
        <Identifiers>
          <MarketplaceASIN>
            <MarketplaceId>xxxx</MarketplaceId>
            <ASIN>B0035ESZBY</ASIN>
          </MarketplaceASIN>
        </Identifiers>
        <AttributeSets>
          <ns2:ItemAttributes xmlns:ns2="http://mws.amazonservices.com/schema/Products/2011-10-01/default.xsd" xml:lang="ja-JP">
            <ns2:Binding>&#x98DF;&#x54C1;&amp;&#x98F2;&#x6599;</ns2:Binding>
            <ns2:Brand>&#x6817;&#x5C71;&#x7C73;&#x83D3;</ns2:Brand>
            <ns2:ItemDimensions>
              <ns2:Weight Units="pounds">0.55</ns2:Weight>
            </ns2:ItemDimensions>
            <ns2:IsAdultProduct>false</ns2:IsAdultProduct>
            <ns2:Label>&#x6817;&#x5C71;&#x7C73;&#x83D3;</ns2:Label>
            <ns2:ListPrice>
              <ns2:Amount>540.00</ns2:Amount>
              <ns2:CurrencyCode>JPY</ns2:CurrencyCode>
            </ns2:ListPrice>
            <ns2:Manufacturer>&#x6817;&#x5C71;&#x7C73;&#x83D3;</ns2:Manufacturer>
            <ns2:PackageDimensions>
              <ns2:Height Units="inches">2.362204722000000</ns2:Height>
              <ns2:Length Units="inches">12.598425184000000</ns2:Length>
              <ns2:Width Units="inches">8.661417314000000</ns2:Width>
              <ns2:Weight Units="pounds">0.55</ns2:Weight>
            </ns2:PackageDimensions>
            <ns2:PackageQuantity>1</ns2:PackageQuantity>
            <ns2:PartNumber>72346</ns2:PartNumber>
            <ns2:ProductGroup>Grocery</ns2:ProductGroup>
            <ns2:ProductTypeName>GROCERY</ns2:ProductTypeName>
            <ns2:Publisher>&#x6817;&#x5C71;&#x7C73;&#x83D3;</ns2:Publisher>
            <ns2:Scent>&#x7D42;&#x58F2;</ns2:Scent>
            <ns2:SmallImage>
              <ns2:URL>http://ecx.images-amazon.com/images/I/51IQ-j0E%2BCL._SL75_.jpg</ns2:URL>
              <ns2:Height Units="pixels">54</ns2:Height>
              <ns2:Width Units="pixels">75</ns2:Width>
            </ns2:SmallImage>
            <ns2:Studio>&#x6817;&#x5C71;&#x7C73;&#x83D3;</ns2:Studio>
            <ns2:Title>&#x6817;&#x5C71;&#x7C73;&#x83D3; &#x3070;&#x304B;&#x3046;&#x3051;&#x30A2;&#x30BD;&#x30FC;&#x30C8; 40&#x679A;&#x5165;</ns2:Title>
          </ns2:ItemAttributes>
        </AttributeSets>
        <Relationships/>
        <SalesRankings>
          <SalesRank>
            <ProductCategoryId>grocery_display_on_website</ProductCategoryId>
            <Rank>9278</Rank>
          </SalesRank>
          <SalesRank>
            <ProductCategoryId>71330051</ProductCategoryId>
            <Rank>88</Rank>
          </SalesRank>
        </SalesRankings>
      </Product>
    </Products>
  </GetMatchingProductForIdResult>
  <ResponseMetadata>
    <RequestId>7b892306-d599-43de-99b1-11be3ffc215f</RequestId>
  </ResponseMetadata>
</GetMatchingProductForIdResponse>

 

例題のASINは、いつものようにこれです(笑)

 

GetMatchingProductForIdSample.php を使えば

商品名以外でも、ブランド、参考価格、サイズ、重さ、パッケージ数(セット数)などが分かるようです。

ランキングは何故かいつも取得できますね(笑)

まとめ

掲題の「PHPでAmazon MWS APIを使って商品名をXMLで表示してみる。」

は、成功しました!

 

これで、ASINさえあれば、商品名をバシバシ取得することが可能です!

 

次回は、取得したXMLから商品名を取り出して、ブラウザに表示させてみたいと思います。

ご期待くださいませ。

 

プチ成功体験が、次なるやる気になります(笑)

 

ではこれにておひらき。

ご清読ありがとうございました。

ワテ

プログラムをオンラインで学ぶならUdemy(ユーデミー)がおすすめです。好きな時間に視聴できるので私も受講しています。


セール期間なら千円台でお得だぞ

カメ吉

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください