Skip to content

Review API (外部開発者向けレビュー情報取得API)

Takumi TAMURA edited this page Mar 8, 2024 · 6 revisions

本機能はbeta機能です。

改善のためのご意見等ありましたら、UNTILのDiscordサーバ「#a_plus_tsukuba」チャンネルにお願いします。

お気軽にフィードバックお願いします。

Review API について

Review APIは筑波大生向けのサービスを開発している方向けの、A+つくばの講義レビュー情報が取得できるAPIです。

このAPIを使うと、A+つくばで収集・表示している「総合評価」「楽単度」「充実度」を取得できます。

例えば、シラバス検索システムに「★の数」を表示する、といったことが可能になります。

利用にあたって

以下の条件を満たす場合に利用可能です。

  1. APIを利用するサービスやソフトウェアが筑波大生向けのプロダクトであること
  2. ヘッダのUser-Agentにそのプロダクト名を記載すること(利用状況を把握するためです)

API仕様

エンドポイント: https://www.aplus-tsukuba.net/api/subject/{SUBCODE}/scores

許可メソッド:

  • GET のみ

パラメータ:(他のパラメータは全て無視されます)

  • SUBCODE: 科目コードを指定します。大文字小文字を区別しません。

例:

$ curl -s -H "User-Agent: HogeHogeApp" https://www.aplus-tsukuba.net/api/subject/GC12701/scores | jq
{
  "subcode": "GC12701",
  "average_ratings_overall": 1.6667,
  "average_ratings_easiness": 1,
  "average_ratings_content": 3.6667,
  "count_ratings": 3
}

戻り値(正常時):

正常時は、以下のキーを持つjsonが返ります。

key type nullable desc
subcode string False 指定された科目コード
average_ratings_overall float True 総合評価の平均値(評価数が0の場合はnull
average_ratings_easiness float True 楽単度の平均値(評価数が0の場合はnull
average_ratings_content float True 充実度の平均値(評価数が0の場合はnull
count_ratings int False 評価数

戻り値(異常時):

異常時は以下のようになります。また、異常時はステータスコードが200で無くなります。

key type nullable desc
detail string False エラーの理由です

例:

# 存在しない科目コードをクエリした場合
# HTTP 404 Not Found
$ curl -s -H "User-Agent: HogeHogeApp" https://www.aplus-tsukuba.net/api/subject/NO_CODE/scores | jq
{
  "detail": "No such subject code"
}
# レビューが無効化されている科目コード(例:雑談スレッド)をクエリした場合
# HTTP 405 Method Not Allowed
$ curl -s -H "User-Agent: HogeHogeApp" https://www.aplus-tsukuba.net/api/subject/XXX_TALK_G/scores | jq
{
  "detail": "Reviews are disabled for this subject"
}