Services_Calilをつくった
図書館検索サイト「カーリル」が昨日リリースした図書館APIを利用するライブラリを作りました。
Openpear.orgにて公開しています。
利用する場合は、カーリルのサイトからAPIの利用申請を行いAPIKeyを取得する必要があります。
インストール
sudo pear install openpear/Services_Calil-alpha
利用サンプル
<?php require_once 'Services/Calil.php'; require_once 'XML/Unserializer.php'; $apikey = 'APIキー'; $calil = new Services_Calil($apikey); // 図書館DBの検索 $libraryArray = array(); $libraryArray['pref'] = '神奈川県'; $libraryArray['systemid'] = ''; //$libraryArray['geocode'] = '136.7163027,35.390516'; $libraryArray['format'] = 'xml'; //$libraryArray['callback'] = 'testcallback'; try { $library = $calil->library($libraryArray); //var_dump($library); $unserializer = new XML_Unserializer(array(XML_UNSERIALIZER_OPTION_ATTRIBUTES_PARSE => 'parseAttributes')); $unserializer->unserialize($library); $xml = $unserializer->getUnserializedData(); var_dump($xml); } catch (exception $e) { echo $e->getMessage(); } // 書籍検索 $checkArray = array(); $checkArray['isbn'] = '4798119415,4798025623'; $checkArray['systemid'] = 'Kanagawa_Yokohama'; $checkArray['format'] = 'xml'; try { $check = $calil->check($checkArray); $unserializer = new XML_Unserializer(array(XML_UNSERIALIZER_OPTION_ATTRIBUTES_PARSE => 'parseAttributes')); $unserializer->unserialize($check); $xml = $unserializer->getUnserializedData(); echo "<pre>"; var_dump($xml); echo "</pre>"; } catch (exception $e) { echo $e->getMessage(); } // 書籍検索ポーリング if ($xml['continue']) { $pollingArray = array(); $pollingArray['session'] = $xml['session']; $pollingArray['format'] = 'xml'; $pollingArray['callback'] = 'callback'; try { $polling = $calil->polling($pollingArray); $unserializer = new XML_Unserializer(array(XML_UNSERIALIZER_OPTION_ATTRIBUTES_PARSE => 'parseAttributes')); $unserializer->unserialize($polling); $xml = $unserializer->getUnserializedData(); echo "<pre>"; var_dump($xml); echo "</pre>"; } catch (exception $e) { echo $e->getMessage(); } }
Services_Calil \ Package \ Openpear
カーリル | 日本最大の図書館蔵書検索サイト
カーリルのブログ: 図書館API仕様書