在D2L API中获取404

时间:2015-11-30 13:28:51

标签: desire2learn

我正在尝试创建/更新LTI链接当然,但在我提出请求时获得404。我正在使用讲师凭证从https://apitesttool.desire2learnvalence.com尝试此操作(我可以通过调用whoami API来确认)。教师注册课程(org_unit_id是6689)。测试沙箱托管在http://vxxxxxxxx brightspacetrial .com。

POST /d2l/api/le/unstable/lti/link/6689 Content Type:application/json Data: { "UseToolProviderSecuritySettings": false, "Title": "Tiltl2", "Url": "https://127.0.0.1:8000/lti/d2llaunch12/", "Description": "<p>Points to Local Server1</p>", "Key": "", "IsVisible": true, "SignMessage": true, "SignWithTc": true, "SendTcInfo": true, "SendContextInfo": true, "SendUserId": true, "SendUserName": true, "SendUserEmail": true, "SendLinkTitle": true, "SendLinkDescription": true, "SendD2LUserName": false, "SendD2LOrgDefinedId": false, "SendD2LOrgRoleId": false, "CustomParameters": null } Response: Unknown error occured (HTTP status 404) 我使用了正确的路线,我在GET请求中得到了正确的答复 GET /d2l/api/le/(version)/lti/link/(orgUnitId)/(ltiLinkId) GET /d2l/api/le/(version)/lti/link/(orgUnitId)/ 我不确定为什么给404.请帮忙

1 个答案:

答案 0 :(得分:0)

如果您尝试注册新链接(使用POST),那么根据文档,您应该提供LTI.CreateLtiLinkData结构。

请注意,使用此结构,您应该提供KeyPlainSecret值:我相信这些是用于该LTI链接的使用者密钥和密钥。我不确定API如何协调是否具有这些属性的值,以及是否具有与链接的Url匹配的现有工具提供者定义(以便TP的密钥/秘密将用于签署启动该链接,而不是在链接级别定义的密钥/秘密。)

您看到404的原因可能是API绑定层无法找到要绑定的路由处理程序,以匹配您正在处理的内容:也就是说,它正在查看您的JSON有效负载而不能将它绑定为CreateLtiLinkData结构,所以它可能正在寻找另一个自然不存在的处理程序,因此404.这个“无法绑定到处理程序,因此404”是D2L的Valence Web服务方式的一个不幸的方面实施工作。