Yahoo APIの接続先ドメインが変更

ディレクトリ型検索エンジンdtnトップページに設置していた、YahooのニューストピックスAPIを用いたニュース表示部分をみると、データが何も表示されていないことに気が付きました。

自作PHPプログラムでAPIデータを取得していたこともあり、これまでもデータ取得の失敗は度々発生しておりましたが、だいたい再読み込みをすればデータが表示されてはおりました。

しかしながら、今回は何度リロードをしても復活してくれませんでしたので、これはおかしいと思いAPIのマニュアルサイトを確認してみたところ、APIの接続用URLのドメインが、これまでの「Yahoo.co.jp」ではなく、「yahooapis.jp」という新しいドメインに変更されておりました。

接続先URLの変更により復旧

だいぶ前に、Yahoo Japanからお知らせも受けていたようですが、まったく確認もできておりませんでした。早速ながら、接続先を修正したところ無事に動いてくれるようになりました。

yahoo_news_error_0906.png
復旧した当時のニュースAPIによるニュースタブ

他のAPIも稼働チェック

ニュースAPIの接続先が「yahooapis.jp」というドメインとなっていたので、念のために他のAPIの仕様変更も確認してみましたが、ドメイン変更となっていたものはこのニュースAPIだけという状態のようでした。

その代わりに、ショッピングAPIに仕様変更が発生していたようで、ショッピングAPIを使って作ったアフィリエイトサイトの「Yahooショッピング人気キーワードランキング」(※既にサイト閉鎖)が大爆発をしてしまっておりました。

YahooショッピングAPIの仕様変更

どうやらAPIのレスポンスデータに変更があったようでランキングデータを見るとめちゃくちゃな表示になってしまっておりました。

Relational Query(関連キーワード)の件数変更

以前のレスポンスデータでは、検索キーワードに関連したRelational Query(関連キーワード)はきっちり4個となっていたはずですが、どうやら0~4個と変動するようになってしまったようです。

固定件数であるだろうと何も考えずにforeach()でぐるぐる取り出し、そのまま取得データをテーブルに並べておいたのですが、今後はきちんとデータを取り分けて順に並べていかなければならなくなったようです。少々面倒なXML仕様になってしまいました。

yahoo_shopping_ranking_0906.png
復旧した当時のランキングデータ

おわりに

修正後は無事に動いてくれていますので、しばらくはこのままでいこうと思います。APIの仕様変更もマメにチェックしないとダメですね。皆さんもご注意ください。

先日ブログで報告をしたPageRankが更新されたらランク9となった現象もやっと落ち着きましたが、不思議な現象ではありました。