当我拨打电话为特定用户提供特定成绩值时,我收到“303 See Other”错误。
PUT /d2l/api/le/(D2LVERSION: version)/(D2LID: orgUnitId)/grades/(D2LID: gradeObjectId)/values/(D2LID: userId))
所有值都是有效的(否则我会收到 404 错误)。有趣的是,该电话适用于某些课程,但不适用于其他课程。有任何想法吗?
我们使用 Fiddler 来跟踪请求,请求的格式为(将敏感信息替换为 '...'):
PUT https://carmen.osu.edu/d2l/api/le/1.0/.../grades/.../values/947067?x_a= ...&x_b=-...&x_d=...&x_c=...&x_t=1374779761
HTTP/1.1
Content-Type: application/json
Host: carmen.osu.edu
Content-Length: 44
Expect: 100-continue
{"GradeObjectType":1,"PointsNumerator":30.0}
回应是:
HTTP/1.1 303 See other
Cache-Control: private
Content-Length: 0
Location: /d2l/error/500
Server: Microsoft-IIS/7.5
X-XSS-Protection: 0
X-Powered-By: ASP.NET
Date: Thu, 25 Jul 2013 19:16:40 GMT
编辑:我们发现如果已经输入了成绩值,则上述 PUT 调用可以正常工作。它仅在等级值为默认值时为我们提供 303。这只发生在本课程中(我们知道)。