« 週刊アスキー5月1日増刊号の付録は「超くねくねスマホケーブル」 | トップページ | PAAPIのBrowseNodeLookupでアダルトが出なくなってる »

2012年3月27日 (火曜日)

PAAPIで「Fatal error: Cannot use object of type PEAR_Error as array in~」というエラー。BrowseNodeLookupはだめでItemSearchはOKという例

 AmazonのPAAPIでエラー。「Fatal error: Cannot use object of type PEAR_Error as array in 行番号」といった感じのメッセージが返ってきている。

 気づいたのは、Googleのウェブマスターツールから。そのページでレスポンスコード「500」が出ているという。そのページをチェックすると、表示されない。Apacheの.htaccessでエラー表示をしない設定にしているので内容はわからない。当然だ。続いて、ローカル環境でテスト。こちらは当然エラーを表示する設定だ。

 そこで確認できたのが冒頭の

 Fatal error: Cannot use object of type PEAR_Error as array in 行番号
 だ。PEARのServices/Amazonライブラリを使用しているのだけど、それなんだろう。Googleで検索すると、1時間に2000以上のリクエストをした場合の例が出てきた。

 今回も、なんらかのメッセージがPAAPIから返ってきているはずである。さらにそのメッセージも確認。

 AWS.InvalidParameterValue:13321861は、BrowseNodeIdの値として無効です。値を変更してから、再度リクエストを実行してください。
 ブラウズノードが有効じゃないそうだ。

 ブラウズノードは変動する場合がある。新しいノードが追加される場合もあるし、前あったものがなくなることもある。それにひっかかったんだろう。

 ここで挙げているウェブアプリケーションは、ブラウズノードを指定してItemSearchをしている。

 すなわち Operationに「ItemSearch」、BrowseNodeにブラウズノードを指定しているのだ。

 でもって、そのブラウズノードの親ノード、子ノードの情報も取得して、さらにページへのリンクを作るために、BrowseNodeLookupを行なっている。そこでエラーが出ているのだ。

 じゃあ、BrowseNodeLookupの部分だけなくせばどうか?

 なんと、これで通る。

 同じブラウズノードを指定していてもBrowseNodeLookupはだめで、ItemSearchはOKなのだ。

 こんなこともあるのだな。もちろん、ItemSearchで拾えたデータにもブラウズノードに関する情報(ノードの名称とか)は含まれてない。商品の情報だけが返ってくるのだ。このノードが何のノードだったかを知るすべももうない。

 まあ、いずれにしても、そのブラウズノードはいつかはなくなるのだろう。ItemSearchも通らなくなると思われる。

 じゃあ、どうしよう。

 エラーが出ているんじゃ困る。とりあえず、ItemSearchで取得できた商品は表示するようにしておく。そっからAmazonへ飛んでくれればめっけものだ。

 そんでもって、BrowseNodeLookupで取得したナビゲーション部分のうち、今回ひっかかったブラウズノードは、すでに表示されることはないはず(拾えないのだから)。Googleのbotもここはもう見なくなるだろう。

 という予想は間違ってるだろうか? どっちにしても検索してひっかかるようなページではないだろうし。とか言ってたら最初からやることはないのだが。

 そういえば、ブラウズノードが変更されました、っていうAmazonのアナウンスをちょっと前に見たような気がしたけど、どこだったっけ?


|

« 週刊アスキー5月1日増刊号の付録は「超くねくねスマホケーブル」 | トップページ | PAAPIのBrowseNodeLookupでアダルトが出なくなってる »

コメント

コメントを書く



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




トラックバック

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

この記事へのトラックバック一覧です: PAAPIで「Fatal error: Cannot use object of type PEAR_Error as array in~」というエラー。BrowseNodeLookupはだめでItemSearchはOKという例:

« 週刊アスキー5月1日増刊号の付録は「超くねくねスマホケーブル」 | トップページ | PAAPIのBrowseNodeLookupでアダルトが出なくなってる »