コンテンツタイプ(ContentType)

広告

コンテンツタイプはリクエストの結果取得するデータのコンテンツタイプを指定します。書式は次の通りです。

ContentType=<コンテンツタイプ>

このパラメータはオプションパラメータです。

パラメータ名として「ContentType」を使います。デフォルトの値は「text/xml」でコンテンツタイプをXMLとして返してきます。XMLデータをPHPなどで直接処理したい場合など通常はデフォルトのままで構いません。

このパラメータの値を指定する必要があるのはAmazonのXSLTサービスを使用する場合でその時は「text/html」を指定して下さい。合わせて「Style」パラメータにXSLTスタイルシートのURLを指定します。この場合はデータのコンテンツタイプをHTMLとして返してきます。

注意するべき点はAmazonから返されるデータの中身はいずれにしてもXMLの形式です。このパラメータではXMLの形式で記述されたデータをXMLデータとして返すのか、HTMLとして返すのかを指定しているだけです。

記述例としては次のようになります。

ContentType=text/html

実際に使用する場合は次のようになります。

http://ecs.amazonaws.jp/onca/xml?
Service=AWSECommerceService
&AWSAccessKeyId=[AccessKey]
&Operation=ItemSearch
&Version=2009-07-01
&ContentType=text/html

※上記は実際には1行で記述します。

取得するデータ

では実際にどのようなデータが取得できるのか確認してみます。

まずはContentTypeプロパティに「text/xml」を指定した場合です。

コンテンツタイプ(ContentType)

次にContentTypeプロパティに「text/html」を指定した場合です。

コンテンツタイプ(ContentType)

「text/xml」の場合も「text/html」の場合も送り返されてくるデータそのものはほぼ同じです。コンテンツタイプとして「text/xml」として返されるか「text/html」として返されるかの違いしかありません。(実際にはどのコンテンツタイプで返したのかに関する記述部分だけ異なっています)。ブラウザで表示した時に違って見えるのは、データのコンテンツタイプによてブラウザが表示方法を変えているためです。

例えば「text/html」を指定したリクエストの結果としてブラウザ上に表示されているソースを見てみると次のように表示されます(見やすいように改行を加えてあります)。

<?xml version="1.0" ?>
<ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2009-07-01">
  <OperationRequest>
    <HTTPHeaders>
      <Header Name="UserAgent" Value="Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)"></Header>
    </HTTPHeaders>
    <RequestId>f2e248af-4d83-496b-b1e3-eb694f82fb84</RequestId>
    <Arguments>
      <Argument Name="Operation" Value="ItemSearch"></Argument>
      <Argument Name="Service" Value="AWSECommerceService"></Argument>
      <Argument Name="AWSAccessKeyId" Value="(key)"></Argument>
      <Argument Name="Timestamp" Value="2009-07-22T07:23:22.000Z"></Argument>
      <Argument Name="Signature" Value="rGlwrUXTP8vfEp1DyeuE52W3hqTXK0BRjIE9WWnLivk="></Argument>
      <Argument Name="ResponseGroup" Value="Small"></Argument>
      <Argument Name="SearchIndex" Value="Books"></Argument>
      <Argument Name="Version" Value="2009-07-01"></Argument>
      <Argument Name="ContentType" Value="text/html"></Argument>
      <Argument Name="Keywords" Value="終の住処 磯崎 憲一郎"></Argument>
    </Arguments>
    <RequestProcessingTime>0.0307700000000000</RequestProcessingTime>
  </OperationRequest>
  <Items>
    <Request>
      <IsValid>True</IsValid>
      <ItemSearchRequest>
        <Condition>New</Condition>
        <DeliveryMethod>Ship</DeliveryMethod>
        <Keywords>終の住処 磯崎 憲一郎</Keywords>
        <MerchantId>Amazon</MerchantId>
        <ResponseGroup>Small</ResponseGroup>
        <ReviewSort>-SubmissionDate</ReviewSort>
        <SearchIndex>Books</SearchIndex>
      </ItemSearchRequest>
    </Request>
    <TotalResults>1</TotalResults>
    <TotalPages>1</TotalPages>
    <Item>
      <ASIN>410317711X</ASIN>
      <DetailPageURL>http://www.amazon.co.jp/%E7%B5%82%E3%81%AE%E4%BD%8F%E5%87%A6-%E7%A3%AF%E5%B4%8E-%E6%86%B2%E4%B8%80%E9%83%8E/dp/410317711X%3FSubscriptionId%3D(key)%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D410317711X</DetailPageURL>
      <ItemLinks>
        <ItemLink>
          <Description>Add To Wishlist</Description>
          <URL>http://www.amazon.co.jp/gp/registry/wishlist/add-item.html%3Fasin.0%3D410317711X%26SubscriptionId%3D(key)%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D5143%26creativeASIN%3D410317711X</URL>
        </ItemLink>
        <ItemLink>
          <Description>Tell A Friend</Description>
          <URL>http://www.amazon.co.jp/gp/pdp/taf/410317711X%3FSubscriptionId%3D(key)%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D5143%26creativeASIN%3D410317711X</URL>
        </ItemLink>
        <ItemLink>
          <Description>All Customer Reviews</Description>
          <URL>http://www.amazon.co.jp/review/product/410317711X%3FSubscriptionId%3D(key)%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D5143%26creativeASIN%3D410317711X</URL>
        </ItemLink>
        <ItemLink>
          <Description>All Offers</Description>
          <URL>http://www.amazon.co.jp/gp/offer-listing/410317711X%3FSubscriptionId%3D(key)%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D5143%26creativeASIN%3D410317711X</URL>
        </ItemLink>
      </ItemLinks>
      <ItemAttributes>
        <Author>磯崎 憲一郎</Author>
        <Manufacturer>新潮社</Manufacturer>
        <ProductGroup>Book</ProductGroup>
        <Title>終の住処</Title>
      </ItemAttributes>
    </Item>
  </Items>
</ItemSearchResponse>

このようにContentTypeプロパティに「text/html」を指定した場合でも取得できるデータそのものはXMLのデータとなっています。

コンテンツタイプを「text/html」として取得した場合には、「Style」プロパティに対してXSLTスタイルシートのURLを指定すると、取得したデータを指定の形式でHTML文書に変換することができます。詳しくはStyleプロパティをご覧下さい。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)