1

Valence API を使用し、Python でコード サンプルを操作するのは初めてです。「Fetch final grades」サンプル ( http://docs.valence.desire2learn.com/samples/finalGrades.htmlにあります) からコードを実行すると、500 エラーに悩まされました。私は一般的にプログラミングに不慣れで、問題を診断するために提供する情報が他にないのではないかと心配しています。エラーには、「Exception: HTTPError('404 Client Error: Not Found',)」というメッセージが表示されます

また、ここに投稿するのが適切であることを望んでいるトレースバック ノートを提供することもできます。

トレースバック (最新の呼び出しが最後):

...bottle.py"、764 行目、_handle 内 return route.call(**args)

...bottle.py"、1625 行、ラッパー rv = callback(*a, **ka)

...bottle.py"、1575 行、ラッパー rv = callback(*a, **ka) 内

...finalgrades.py"、149 行目、start_handler の verify=_CFG['verify'])

...d2lvalence_util\service.py"、267 行目、get_whoami で d2ldata.WhoAmIUser(_get(route,uc,**kwargs)) を返す

...service.py"、86 行目、_get return _fetch_content(r,debug=d) 内

...service.py"、46 行目、_fetch_content r.raise_for_status() 内

...models.py」、773行目、raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: Not Found

D2L が提供するコードを拡張していません。他の誰かがこの問題に遭遇しましたか? もしそうなら、どのように解決しましたか?

4

1 に答える 1

0

conf.py ファイルには、使用しているバックエンド サービスに一致する値が設定されている必要があります。デフォルトで動作するように設定されているホストは lms.valence.desire2learn.com ですが、バージョン値は、そのデフォルト ホストで現在実行されている LMS ソフトウェアよりも新しいバージョンの LMS ソフトウェア用の API バージョンに設定されています。これは、テスト ラボで最新の LMS バージョンに対して行われたため、テストでは認識されなかった欠陥です。そのため、サンプルを実行すると、API ルートのバージョン値として 1.2 がプラグインされ、サンプル アプリが接続した LMS に結果のルートが存在しないため、404 が返されました。

これを修正するためにサンプルを更新しますが、サンプルを使用するときは、conf.py の値を、使用している独自の LMS に適したものに変更する必要があります。理想的には、個人的に申請したアプリ ID とキーに変更してください。 D2L の KeyTool サービスから受け取ります。テスト ユーザーでデフォルトの LMS に対して基本的なサンプルを使用できますが、テスト ユーザー アカウントにはサンプルに含まれる適切な API 呼び出しを行うための十分な権限がない可能性があるため、他の 2 つのサンプルはうまく機能しない可能性があります。組織独自の LMS と対戦できるように設計されています。

于 2014-02-08T00:53:01.487 に答える