« 大泉洋が表紙の雑誌のきまじめなレビュー | トップページ | iPhone / iPadでシステムエクスクルーシブをやりとりできるソフト、さよなら単体MIDIファイラー »

2011年8月29日 (月曜日)

AmazonのProdcuct Advertising APIで改行の入った商品名が返ってくる

 AmazonのPAAPIことAmazonのProdcuct Advertising APIではまったのでメモ。

 Amazonのサーバー側でXSLT処理をやらせてJavaScriptを出力するというプログラム。自前のサーバー側の負担を軽減するための処置。あとは、取得したXSLTされたデータをキャッシュすることでAmazonのサーバーへのアクセス回数を減らそうという魂胆。だったのだが。

 うまく表示されなくなっている。

 キャッシュデータを見ると、問題なような気配。ちゃんとデータは取得できている。

 で、調べてみると、SafariやChrome、Firefoxでは問題なく表示されるのだが、IEでは表示されてないことが判明。

 終了していない文字列型の定数です。

 というエラーが出ている。どうやら、変数を定義する際に文字列に余計な改行が入ってるから。

 キャッシュデータを改めてチェックすると、引用符の間に意図せず改行が入っている。Amazonから返ってきたデータの商品名の途中に改行が入っているのだった。

 その商品はこれ。

 Kis-My-Ftに逢えるde Show vol.3 at 国立代々木第一体育館 2011.2.12/Kis-My-Ft2 Debut Tour 2011 Everybody Go at 横浜アリーナ 2011.7.31(仮)(ジャケットA)【初回限定生産】 [DVD]

 「[DVD]」の手前に改行が紛れ込んでいた。ありえねー!

 ということで、XSLTでなんとかできないかといろいろ試行錯誤。translateでなんとかなるかと思ったけど、うまいこと改行が拾えない。&#10も&#13も、さらに&#xAも&#xDもだめ。なんか見落としてるのかと思いつつ数時間。

 あきらめてキャッシュする側のプログラム(サーバー側)で対処。というか、これなら一瞬だった。キャッシュする前に改行を全部削除する。それだけ! なぜ、そっちを先に思いつかなかったんだろう。自分のバカさ加減にあきれた。

 というか、Amazon側のデータの不備だと思うんだが。

 いや、XMLデータを生で拾うぶんには問題がなく、XSLT処理側に問題があったということだろうか? とかいろいろ考えて、生データも見てみる。取得できるXMLデータそのものには問題がなかった。XSLT処理に問題がありそう。というか、この商品名が長すぎるんじゃね? とか思わないでもない。

 ここ1年くらい、Amazonでも楽天みたいに売り文句を入れた商品名が増えてきたけど、それはAmazon本体以外のマーチャントだけだと思ってた。今回の商品はAmazon本体の扱い。うーむ。別に売り文句みたいなのが入ってるわけではないものの。サブタイトルみたいなのまで入ってるから長いのか。初回限定とか、ジャケットAみたいなのが余計なのか。余計ってことはないか。

 データがおかしいと報告したほうがいいのか? とか思ってはみたのだけども、しなくてよかった。

 ついでに、IEの仕様もどうかな? とか思った。


|

« 大泉洋が表紙の雑誌のきまじめなレビュー | トップページ | iPhone / iPadでシステムエクスクルーシブをやりとりできるソフト、さよなら単体MIDIファイラー »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/35726/52596916

この記事へのトラックバック一覧です: AmazonのProdcuct Advertising APIで改行の入った商品名が返ってくる:

« 大泉洋が表紙の雑誌のきまじめなレビュー | トップページ | iPhone / iPadでシステムエクスクルーシブをやりとりできるソフト、さよなら単体MIDIファイラー »