forked from enpitut2022/A_plus_Tsukuba
Review API (外部開発者向けレビュー情報取得API)
Takumi TAMURA edited this page Mar 8, 2024
·
6 revisions
本機能はbeta機能です。
改善のためのご意見等ありましたら、UNTILのDiscordサーバ「#a_plus_tsukuba」チャンネルにお願いします。
お気軽にフィードバックお願いします。
Review APIは筑波大生向けのサービスを開発している方向けの、A+つくばの講義レビュー情報が取得できるAPIです。
このAPIを使うと、A+つくばで収集・表示している「総合評価」「楽単度」「充実度」を取得できます。
例えば、シラバス検索システムに「★の数」を表示する、といったことが可能になります。
以下の条件を満たす場合に利用可能です。
- APIを利用するサービスやソフトウェアが筑波大生向けのプロダクトであること
- ヘッダのUser-Agentにそのプロダクト名を記載すること(利用状況を把握するためです)
エンドポイント: 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"
}