1

我不熟悉使用 Valence API 并在 Python 中处理代码示例。在运行“获取最终成绩”示例(位于http://docs.valence.desire2learn.com/samples/finalGrades.html)中的代码时,我遇到了 500 错误。我一般是编程新手,担心我不知道要提供哪些进一步的信息来诊断我的问题。错误说明“异常:HTTPError('404 客户端错误:未找到',)”

我还可以提供回溯注释,我希望它适合在此处发布。

回溯(最近一次通话最后):

...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", line 773, in 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,但版本值设置为 API 版本,该版本适用于 LMS 软件的更新版本,而不是当前在该默认主机上运行的版本。这是一个在测试中没有注意到的缺陷,因为这是在测试实验室中针对更新的 LMS 版本完成的。因此,当您运行示例时,它将 1.2 作为 API 路由中的版本值插入,并且您返回 404,因为生成的路由在您的示例应用程序联系的 LMS 上不存在。

我将更新示例以更正此问题,但是当您使用示例时,您应该将 conf.py 值更改为适合您自己正在使用的 LMS 的值,最好是您个人申请的 App ID 和 Key并从 D2L 的 KeyTool 服务接收。您可以对测试用户使用该默认 LMS 的基本示例,但其他两个示例可能无法正常工作,因为测试用户帐户可能没有足够的权限来进行示例中包含的适当 API 调用......它们是更适合您与您的组织自己的 LMS 一起玩。

于 2014-02-08T00:53:01.487 回答