読者です 読者をやめる 読者になる 読者になる

Product Advertising API(AmazonアソシエイトWebサービス)を使ってみる。

Product Advertising API

Amazonが提供するWebAPIで、商品情報取得、商品検索機能、ショッピングカート機能などを提供しています。

Webサービスのマネタイズとしては、標準装備かもなぁ。
なんて考えて今勉強中です(・ω・)

Developer Guide (API Version 2009-10-01)

ここなんですけど、全部英語です。。
日本語版は見つけられていません。。
誰か知ってたら教えてください!

わかりません(汗)

コードに一番近い[API Reference]から読んでみました。

コードに近いドキュメントなら、英語だってなんとなくイメージ掴めるし、
翻訳(サイト|機能)使えば、へっちゃらかなぁって思ったんですけど。

とりあえず、各Operationsに対して必要なリクエストパラメータを渡してあげれば、
リクエストパラメータ[ResponseGroup]で指定した項目が、XML形式で返ってくることはわかった。

しかし、英文書をちゃんと読み解けたとは到底思えません(・ω・;

とりあえずイジってみる

もう手を動かした方が早いと思ったので、Product Advertising APIのテストサービス作りました!
せっかく、GAE/Jも勉強しているので上げてみました!
http://csd-tech.appspot.com/aws/

これで入出力が見えるので理解も進むでしょう(^ω^)

Operations:Helpに頼る

Operation:Helpを使って、各Operationの入力パラメータと利用できる[ResponseGroup]が確認できます。

  • RequiredParameters:必須パラメータ
  • AvailableParameters:指定可能なパラメータ
  • DefaultResponseGroups:[ResponseGroup]の初期値
  • AvailableResponseGroups:指定可能な[ResponseGroup]


例えば、

  • Operation=Help
  • About=CartCreate
  • HelpType=Operation

を指定すると、こんな感じ。

<?xml version="1.0" encoding="UTF-8"?>
<HelpResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2009-10-01">
<OperationRequest>
<HTTPHeaders>
<Header Name="UserAgent" Value="AppEngine-Google; (+http://code.google.com/appengine; appid: csd-tech)">
</Header>
</HTTPHeaders>
<RequestId>
0YK35676HR993W3N74V5
</RequestId>
<Arguments>
<Argument Name="Service" Value="AWSECommerceService">
</Argument>
<Argument Name="Signature" Value="********************************************">
</Argument>
<Argument Name="ResponseGroup" Value="Help">
</Argument>
<Argument Name="HelpType" Value="Operation">
</Argument>
<Argument Name="Operation" Value="Help">
</Argument>
<Argument Name="AWSAccessKeyId" Value="********************">
</Argument>
<Argument Name="Version" Value="2009-10-01">
</Argument>
<Argument Name="Timestamp" Value="2009-11-20T13:19:49Z">
</Argument>
<Argument Name="About" Value="CartCreate">
</Argument>
</Arguments>
<RequestProcessingTime>
0.0161569118499756
</RequestProcessingTime>
</OperationRequest>
<Information>
<Request>
<IsValid>
True
</IsValid>
<HelpRequest>
<About>
CartCreate
</About>
<HelpType>
Operation
</HelpType>
<ResponseGroup>
Help
</ResponseGroup>
</HelpRequest>
</Request>
<OperationInformation>
<Name>
CartCreate
</Name>
<RequiredParameters>
<Parameter>
AssociateTag
</Parameter>
<Parameter>
Items
</Parameter>
</RequiredParameters>
<AvailableParameters>
<Parameter>
AWSAccessKeyId
</Parameter>
<Parameter>
ContentType
</Parameter>
<Parameter>
LinkCode
</Parameter>
<Parameter>
Marketplace
</Parameter>
<Parameter>
MarketplaceDomain
</Parameter>
<Parameter>
MergeCart
</Parameter>
<Parameter>
Style
</Parameter>
<Parameter>
Validate
</Parameter>
<Parameter>
Version
</Parameter>
<Parameter>
XMLEscaping
</Parameter>
</AvailableParameters>
<DefaultResponseGroups>
<ResponseGroup>
Request
</ResponseGroup>
<ResponseGroup>
Cart
</ResponseGroup>
</DefaultResponseGroups>
<AvailableResponseGroups>
<ResponseGroup>
Request
</ResponseGroup>
<ResponseGroup>
Cart
</ResponseGroup>
<ResponseGroup>
CartSimilarities
</ResponseGroup>
<ResponseGroup>
CartTopSellers
</ResponseGroup>
<ResponseGroup>
CartNewReleases
</ResponseGroup>
</AvailableResponseGroups>
</OperationInformation>
</Information>
</HelpResponse>

あれ?

RequiredParametersに[Items]が含まれてる。。

Product Advertising APIによると、
[Items]は、Required=Noだから必須じゃないはず。

実際に動かしてみると、[Items]は必須ではなかった。

こりゃ、使いこなすまで時間かかりそうだな (-ω-;