我正在尝试创建/更新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.请帮忙
答案 0 :(得分:0)
如果您尝试注册新链接(使用POST),那么根据文档,您应该提供LTI.CreateLtiLinkData结构。
请注意,使用此结构,您应该提供Key
和PlainSecret
值:我相信这些是用于该LTI链接的使用者密钥和密钥。我不确定API如何协调是否具有这些属性的值,以及是否具有与链接的Url
匹配的现有工具提供者定义(以便TP的密钥/秘密将用于签署启动该链接,而不是在链接级别定义的密钥/秘密。)
您看到404的原因可能是API绑定层无法找到要绑定的路由处理程序,以匹配您正在处理的内容:也就是说,它正在查看您的JSON有效负载而不能将它绑定为CreateLtiLinkData结构,所以它可能正在寻找另一个自然不存在的处理程序,因此404.这个“无法绑定到处理程序,因此404”是D2L的Valence Web服务方式的一个不幸的方面实施工作。