0

我正在尝试通过 valence d2l 中的 api 在一个学期内创建一门课程。404 not found在我的程序和“入门”应用程序中,我不断收到错误消息。我正在打的电话是/d2l/api/lp/1.0/courses/使用 post。我将以下 JSON 对象连同它一起传递:

{
    "Name": "COMM291 - Test A",
    "Code": "C-COMM291",
    "Path": "/enforced/C-COMM291/",
    "CourseTemplateId": 20992,
    "SemesterId": 20993,
    "StartDate": "2013-08-22T19:41:14.0983532Z",
    "EndDate": "2013-08-27T19:41:14.0993532Z",
    "LocaleId": 4105,
    "ForceLocale": false,
    "ShowAddressBook": false
}

我也尝试过传递null那些说他们接受空值但没有运气的字段。课程模板和学期 ID 是正确的 - 我已经检查了它们是否存在,我已经注册了它们并且我使用了正确的 ID 号。

4

3 回答 3

0

尝试将开始和结束日期的精度降低到最后一点之后的小数点后三位(例如,"2013-08-22T19:41:14.0983532Z"变为"2013-08-22T19:41:14.098Z")。

于 2013-08-22T20:48:48.140 回答
0

如果您的组织配置为自动执行和生成课程提供的路径,那么您根本不应该在您的CreateCourseOffering块中提供路径。以下结构适用于我们的测试实例:注意 path 的空字符串(不应该是 null,而是一个空字符串,我相信):

{ "Name": "Extensibility 104", 
  "Code": "EXT-104", 
  "Path": "", 
  "CourseTemplateId": 8082, 
  "SemesterId": 6984, 
  "StartDate": "2013-09-01T19:41:14.098Z", 
  "EndDate": "2013-12-27T19:41:14.098Z",
  "LocaleId": 1, 
  "ForceLocale": false, 
  "ShowAddressBook": false }

要注意的另一件事是,如果您的 CreateCourse 表单没有提供学期 ID 的表单元素,那么您的 API 调用应该为该属性传递 null。

于 2013-08-23T13:50:34.987 回答
0

我发现我的部分问题出在调用上,如果我将其更改为 /d2l/api/lp/1.3/courses/ 而不是 1.0 它可以工作,(1.0 可以工作,但似乎你只能通过这个学期的 null ) . 日期也很挑剔,确实更喜欢毫秒而不是小数点后 3 位。然后为 LocaleId 传递 null 也有帮助。

于 2013-09-05T21:44:49.350 回答