メインコンテンツまでスキップ

🕸️ URL 接続外部資料開発ガイド

このページでは、外部学習資料の設定方法および開発方法を説明します。

URL 接続外部資料の設定

授業で資料追加ボタンをクリックし、URL 接続外部資料ボタンをクリックします。

上記のように選択して資料を読み込むと、iframeを通じて外部資料のURLに入力されたアドレスが読み込まれます。この時、URLは次のようになります。

https://example.com?extToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…

採点APIを利用したスコア付与方法

ユーザーが接続する際にクエリパラメータとして渡したextTokenをデコードすると、以下のようなペイロードが得られます。

{
"user_id": 917678,
"uid": null,
"progress_url": "https://api-esp-proxy.elice.io/default/progress/external?token=eyJhbGciOiJIUz...",
"token_nonce": null,
"ts": 1696408550682,
"iss": "elice-api",
"tutor_user_id": 111 # チュータリングモードの場合にのみこの値が存在します
}

この値の中のprogress_urlに以下のようにリクエストを送信すると、採点が完了します。

  • メソッド: POST

  • URL: {progress_url}

  • ボディ

    {
    "score": 100
    }
  • Pythonコードの例

    progress_url = decoded_token["progress_url"]

    response = requests.post(
    progress_url,
    json={"score": reqeust.score},
    )

チュータリングモードの確認方法

ユーザーが接続する際にクエリパラメータとして渡したextTokenをデコードすると、以下のようなペイロードが得られます。

{
"user_id": 917678,
"uid": null,
"progress_url": "<https://api-esp-proxy.elice.io/default/progress/external?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOm51bGwsInVzZXJfaWQiOjEzMTg5NDA0LCJvcmdhbml6YXRpb25faWQiOjM0ODQsImNvdXJzZV9pZCI6Nzg4MzksImxlY3R1cmVfcGFnZV9pZCI6NzE2NjM2N30.ULsamRseUwE-6gFI5YwQscn4RwAXMBzpWggKKlv1-1o>",
"token_nonce": null,
"ts": 1696408550682,
"iss": "elice-api",
"tutor_user_id": 48374
}

このペイロードの中でtutor_user_idが存在すればチュータリングモード、存在しなければ学生モードです。