2008年12月25日

Yahoo!みんなの検定

Yahoo!みんなの検定APIをどう使えばいいの?

  • このエントリーをはてなブックマークに追加

Yahoo!みんなの検定ProjectのK.K.です。

Yahoo!みんなの検定のAPIをどう使えばいいのでしょうか。

今回から何回かにわけて「三国志」に関する検定を表示し、受験するための機能を例
に説明していきます。

まず今回は、作成された検定をリスト形式で取得するAPIを紹介します。

このリスト取得APIでは、「あるユーザーが作成した検定一覧」や
「指定キーワード(またはタグ)の検索結果の検定一覧」を取得できます。

「三国志」のキーワードを持つ検定の一覧を取得する際は、以下のようなリクエスト
を送ります。


http://cert.yahooapis.jp/MinnaCertWebService/V1/certList?appid=<あなたのアプリケーションID>&keyword=%BB%B0%B9%F1%BB%D6&amount=2

"appid"は、Yahoo!デベロッパーネットワークに登録しているあなたのアプリケーションID、
"keyword"にはURLエンコードしたキーワード、"amount"には取得してくる検定の件数
を指定します。
"amount"のデフォルトは10件取得ですが、今回はサンプルのため2件取得するよう指
定します。
ここでは指定していませんが、"order"というパラメータで取得結果のソート順を指
定できます。
デフォルトでは、検定が作成されたのが早い順にソートされています。
ほかにも取得の条件パラメータがありますので、詳しくは後述のURLをご覧ください。

上記のリクエストを送信すると、以下のようなレスポンスが返ってきます。


<?xml version="1.0" encoding="UTF-8" ?>
<ResultSet firstResultPosition="1" totalResultsAvailable="761"
totalResultsReturned="2" xmlns="urn:yahoo:jp:cert" xmlns:xsi="http://www.w3.
org/2001/XMLSchema-instance" xsi:schemaLocation="urn:yahoo:jp:cert
http://cert.yahooapis.jp/MinnaCertWebService/V1/certList.xsd">
<Result>
<CertId>334393</CertId>
<CertName>三国志検定 初級です。</CertName>
<CertDiv>0</CertDiv>
<UserName>mcd**327</UserName>
<CertImageUrl />
<CertOverview>三国志読んだことがある方は簡単だと思いますが、いろんな人の
挑戦待ってます。</CertOverview>
<OpenDate>2008-12-21 22:49:19</OpenDate>
<QuestionCount>5</QuestionCount>
<ReportOpenFlag>0</ReportOpenFlag>
<Correct>4</Correct>
<ExamAmount>32</ExamAmount>
<PassAmount>17</PassAmount>
<FavoredCertCount>0</FavoredCertCount>
<CommentCount>0</CommentCount>
<EvalPoint>3.0</EvalPoint>
<TotalPoint>6</TotalPoint>
<CertDetailPcUrl>http://minna.cert.yahoo.co.jp/cjjis/334393</CertDetailPcUrl>
<CertDetailMbUrl>http://cert.oa.yahoo.co.jp/p/cert/detail?cert_id=334393</CertDetailMbUrl> </Result>
<Result>
<CertId>334274<</CertId>
<CertName>三国志検定14 趙雲</CertName>
<CertDiv>0</CertDiv>
<UserName>司馬嬰</UserName>
<CertImageUrl />
<CertOverview>三国志検定第14弾!
今回は皆の大ヒーロー趙雲です!
正史基準ですが、記述が少ないので「趙雲別伝」も参考にして出題しています。挑戦
宜しく!</CertOverview>
<OpenDate>2008-12-21 20:06:19</OpenDate>
<QuestionCount>10</QuestionCount>
<ReportOpenFlag>0</ReportOpenFlag>
<Correct>6</Correct>
<ExamAmount>18</ExamAmount>
<PassAmount>5</PassAmount>
<FavoredCertCount>0</FavoredCertCount>
<CommentCount>4</CommentCount>
<EvalPoint>5.0</EvalPoint>
<TotalPoint>6</TotalPoint>
<CertDetailPcUrl>http://minna.cert.yahoo.co.jp/cdgdb/334274</CertDetailPcUrl>

<CertDetailMbUrl>http://cert.oa.yahoo.co.jp/p/cert/detail?cert_id=334274</CertDetailMbUrl>
</Result>
</ResultSet>


このレスポンスの各フィールドに検定の情報が含まれています。
さまざまな情報が入っていますが、それぞれの検定が持つ固有のID、
<CertId>が、これから作りたい機能ではとくに重要になります。
そのほか、各パラメータの説明は後述のURLをご覧ください。

次回は、この情報を使って問題内容を取得するための「検定詳細API」について説明します。

Yahoo!デベロッパーネットワーク - みんなの検定 - 検定リストAPI

受けて作ってつながろう!
Yahoo!みんなの検定

Yahoo! JAPANでは情報技術を駆使して人々や社会の課題を一緒に解決していける方を募集しています。詳しくは採用情報をご覧ください。

  • このエントリーをはてなブックマークに追加