知恵袋サンプルコード

新着質問リスト表示系サンプル

使用API

知恵袋 新着質問リスト取得

構成環境 Apache-2.2.14 + PHP-5.3.1

Yahoo!知恵袋 新着質問リスト取得API使用サンプルです。

ダウンロード

サンプルご利用の際は、利用規約をご覧ください。利用規約は、ダウンロードパッケージ内のLICENSE.txtファイルに記載されています。

ダウンロードはこちら (ダウンロードサイズ:約2.2KB)

コード解説

ダウンロードしたアーカイブファイルを展開すると下記のようになります。

`-- sample3
    |-- LICENSE.txt
    |-- README.txt
    `-- sample.php

sample.php

<?php

define('APPLICATION_ID', '<あなたのアプリケーションID>');

/**
 * APIのURL
 */
define('REQUEST_URL', 'http://chiebukuro.yahooapis.jp/Chiebukuro/V1/getNewQuestionList');

/**
 * 内部エンコードをUTF-8に設定
 * mb_strimwidth を使用するための設定です。
 */
mb_internal_encoding("UTF-8");

/**
 * APIへのリクエストパラメータ
 */
$parameters = array(
    'appid'     => APPLICATION_ID,
    'condition' => 'open',
    'results'   => 10
);
$ch = curl_init();

curl_setopt_array($ch, array(
    CURLOPT_URL             => REQUEST_URL .'?'. http_build_query($parameters, '', '&'),
    CURLOPT_RETURNTRANSFER  => true
));
$xml = curl_exec($ch);
curl_close($ch);

if ($xml !== false && $xml != '') {
    $response = simplexml_load_string($xml);

    if (isset($response->Result)) {
        if (isset($response->Result[0])) {
            $list = $response->Result;
        } else {
            $list = array($response->Result);
        }
    }
}

?>
<html>
<meta http-equiv=content-type content="text/html; charset=utf-8" />
<head>
<title>知恵袋サンプルコード</title>
</head>
<body>
<h1>知恵袋デモサイト</h1>

<?php if (isset($response)) : ?>
<div id="content_result">
<?php   if (isset($response->Message)) : ?>
    <dl>
        <dt>エラー</dt>
        <dd><?php echo nl2br($response->Message); ?></dd>
    </dl>
<?php   elseif (isset($list)) : ?>
    <ol style="width:800px">
<?php       foreach ($list as $item) : ?>
        <li style="margin:3px; padding:5px;">
            <a href="<?php echo $item->QuestionUrl; ?>"><?php echo mb_strimwidth($item->Content, 0, 80, '...'); ?></a><br />
            <?php echo date("Y/m/d H:i:s", strtotime($item->UpdatedDate)); ?><br />
            <?php echo str_replace('|', ' &gt; ', $item->CategoryPath)."\n"; ?>
        </li>
<?php       endforeach; ?>
    </ol>
<?php   endif; ?>
</div>
<?php endif; ?>

<!-- Begin Yahoo! JAPAN Web Services Attribution Snippet -->
<a href="http://developer.yahoo.co.jp/about">
<img src="http://i.yimg.jp/images/yjdn/yjdn_attbtn2_105_17.gif" width="105" height="17" title="Webサービス by Yahoo! JAPAN" alt="Webサービス by Yahoo! JAPAN" border="0" style="margin:15px 15px 15px 15px"></a>
<!-- End Yahoo! JAPAN Web Services Attribution Snippet -->
</body>
</html>

このページのトップへ