IT-TOP.BIZはPHP/CGI/AJAXベースのWEBサイト・システム製作に助力致します。

トップ 新着 ソフトウェア サポート&サービス 更新履歴 2008/11/21
WWWフロンティア〜IT-TOP.BIZ

Yahoo API の使い方

 Yahoo Web APIは、パラメータを指定したURLを実行する事で使えます。
 PHPのサンプルは、レスポンスとしてXMLを受け取ります。

6.Yahoo API / PHPサンプル.4を動かす

サンプル4.ではSimpleXMLを使います。
サンプル1、2、3と同様、「common.php」「YJSearchExample.php」が含まれます。

6.1.「common.php」の内容

やはり「common.php」はYahoo API PHPサンプル1と全く同じものです。

6.2.「YJSearchExample.php」の内容

<?php
// Yahoo! JAPAN Search Services PHP Example Code Ver.1(2005/11/30)
//

require './common.php';
$q=build_query();
// Then send it to the appropriate service
$xml = simplexml_load_file($service[$_REQUEST['type']].$q);
/*simplexml_load_file()関数を使ってXMLパースしオブジェクトを作成します*/
// Load up the root element attributes
foreach($xml->attributes() as $name=>$attr) $res[$name]=$attr;
/*ルートの属性(totalResultsAvailable / totalResultsReturned / firstResultPosition)を取得します*/

$first = $res['firstResultPosition'];
$last = $first + $res['totalResultsReturned']-1;
echo "<p>Matched ${res[totalResultsAvailable]}, showing $first to $last</p>\n";
if(!empty($res['ResultSetMapUrl'])) {
  echo "<p>Result Set Map: <a href=\"${res[ResultSetMapUrl]}\">${res[ResultSetMapUrl]}</a></p>\n";
}
for($i=0; $i<$res['totalResultsReturned']; $i++) {
  foreach($xml->Result[$i] as $key=>$value) {
  /*各Resultタグの子ノード配列について繰り返し処理します*/
    switch($key) {
      case 'Thumbnail':
        echo "<img src=\"{$value->Url}\" height=\"{$value->Height}\" width=\"{$value->Width}\" />\n";
        break;
      case 'Cache':
        echo "Cache: <a href=\"{$value->Url}\">{$value->Url}</a> [{$value->Size}]<br />\n";
        break;
      case 'PublishDate':
      case 'ModificationDate':
        echo "<b>$key:</b> ".strftime('%X %x',$value)."<br />\n";
        break;
      default:
        if(stristr($key,'url')) echo "<a href=\"$value\">$value</a><br />\n";
        else echo "<b>$key:</b> $value<br />";
        break;
    }
  }
  echo "<hr />\n";
}
next_prev($res, $first, $last);
done();
?>

(※)「SimpleXML」:PHPのアドインです。
  このサンプルでは「simplexml_load_file関数」を使ってXMLオブジェクトを取得しています。

6.3.サンプル4を動かしてみよう

サンプル1、2、3と同様です。ローカルのサーバーの適当なディレクトリに上記の2つのファイルをアップロードし、「YJSearchExample.php」にアクセスします。
YahooAPI PHPサンプル4のようになります。
<前へ 次へ>
目次
1.Yahoo APIでできる事 
2.Yahoo API サンプルを取得する 
3.Yahoo API PHPサンプル1 を動かしてみる 
4.Yahoo API PHPサンプル2 を動かしてみる 
5.Yahoo API PHPサンプル3 を動かしてみる 
6.Yahoo API PHPサンプル4 を動かしてみる
7.Yahoo API PHPサンプル5 を動かしてみる 
サイトマップ お問い合わせ 相互リンク 免責事項
Copyright© 2005 IT-TOP.BIZCopyright© 2005 IT-TOP.BIZ