求人総数を表示する

 フロムエー・ナビが用意しているAPIを使ってみます。フロムエー・ナビが提供しているサービス内容についてはフロムエー・ナビ API利用規約のページにあるPDFを参照してください。また、フロムエー・ナビのAPIを利用する場合には、あらかじめAPIキーの申請を行っておく必要があります。Safariでは、うまく申請できないのでFirefoxやIEなど他のブラウザで申請する必要があります(2006年6月現在。そのうち改良されるかもしれませんが)。
 まずは簡単なところで、フロムエー・ナビが提供する求人情報を取得してみます。求人情報を取得するには以下のURLにアクセスします。

http://xml.froma.com/s/r/jobSearch.jsp

 次にURLパラメータに、求める求人情報に必要なデータを付加します。これは非常に多岐に渡るためAPIドキュメントを参照してください。ここでは「検索軸コード:職種から:10番」「システムエンジニア等:108番」で検索を行います。FirefoxやIEで以下のURLにアクセスするとXMLドキュメントツリーで見ることができます。Safariなどでは見ることができないのでSafariの場合には以下のサンプルを実行するとXMLデータを見ることができます。(実際のサンプルを実行する

http://xml.froma.com/s/r/jobSearch.jsp?api_key=3awyo24gh29hp6k31z8b210k44nac0f6&ksjcd=10&nv_jb_type_cd=108

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>フロムエー・ナビ Ajaxサンプル</title>
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript"><!--
function getList()
{
var myKey = "api_key=3awyo24gh29hp6k31z8b210k44nac0f6";
var findType = "ksjcd=10"; // 検索軸=職種から
var jobType = "nv_jb_type_cd=108"; // 職種番号
var reqURL = "http://xml.froma.com/s/r/jobSearch.jsp?"+myKey+"&"+findType+"&"+jobType;
new Ajax.Request("getXML.rb?"+reqURL, { method: "get", onComplete: displayData });
}
function displayData(httpObj)
{
$("result").innerText = httpObj.responseText;
$("result").textContent = httpObj.responseText;
}
// --></script>
</head>
<body>
<h1>フロムエー・ナビ Ajaxサンプル</h1>
<form>
<input type="button" value="求人情報取得" onClick="getList()">
</form>
<div id="result"></div>
</body>
</html>

 それではXMLデータから求人総数を取得してみましょう。検索結果で得られた求人情報の総数はOfferListタグ内にあるTotalOfferAvailableタグの最初のノードの値になります。OfferListタグからたどるのが筋ですが、TotalOfferAvailableタグが入れ子になっていないのでTotalOfferAvailableタグを直接取得して、そのノード値を読み出します。これで検索した求人情報の求人総数を取得することができます。(実際のサンプルを実行する


<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>フロムエー・ナビ Ajaxサンプル</title>
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript"><!--
function getList()
{
var myKey = "api_key=3awyo24gh29hp6k31z8b210k44nac0f6";
var findType = "ksjcd=10"; // 検索軸=職種から
var jobType = "nv_jb_type_cd=108"; // 職種番号
var reqURL = "http://xml.froma.com/s/r/jobSearch.jsp?"+myKey+"&"+findType+"&"+jobType;
new Ajax.Request("getXML.rb?"+reqURL, { method: "get", onComplete: displayData });
}
function displayData(httpObj)
{
var xmlObj = httpObj.responseXML;
var total = xmlObj.getElementsByTagName("TotalOfferAvailable")[0].firstChild.nodeValue;
$("result").innerHTML = "全部で"+total+"件見つかりました";
}
// --></script>
</head>
<body>
<h1>フロムエー・ナビ Ajaxサンプル (求人総数を表示)</h1>
<form>
<input type="button" value="求人情報取得" onClick="getList()">
</form>
<div id="result"></div>
</body>
</html>

[目次へ]

(2006.6.17)