ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog

テクノロジー

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!みんなの検定

こちらの記事のご感想を聞かせください。

  • 学びがある
  • わかりやすい
  • 新しい視点

ご感想ありがとうございました

このページの先頭へ