在过去工作的D2L后调用上获得“405 - Method Not Allowed”错误

时间:2017-09-07 13:56:13

标签: desire2learn

我有一个移动应用程序,可以将主题发布到我们的LMS(基本上是白板图片),这些应用程序已经运行了几年而且没有任何障碍。但是,从今年秋季学期开始,我收到以下错误。我问我们的LMS人员,他们不知道为什么会这样,但确实说我们处于持续交付模式。

{
"type": "http://docs.valence.desire2learn.com/res/apiprop.html#method-not-allowed",
"title": "Method Not Allowed",
"status": 405,
"detail": "The POST method is not allowed on this resource.",
"allowed_methods": [
    "GET",
    "HEAD"
]
}

这是以前工作的调用和json:

/d2l/api/le/1.25/28866/content/modules/4923001/structure/

{"IsHidden": false, "IsLocked": false, "ShortTitle": "170905_080423", "Type": 1, 
      "DueDate": null, "Url": "170905_080423.jpg", 
      "StartDate": null, "TopicType": 1, "EndDate": null, "Title": "170905_080423"}

1 个答案:

答案 0 :(得分:1)

/d2l/api/le/1.25/(orgunitId)/content/modules/(moduleId)/structure/行动路线上的Brightspace LE v1.25 API合同中似乎存在缺陷,该合同禁止将该路线与POST一起使用(为了添加新的子模块或内容模块结构的主题。)

解决方法是使用1.22和1.24之间的API合约,如果您需要在此路由中使用POST(对base64查询参数的支持已添加1.22,那么选择该合同到1.24可能是相关的;如果您不需要该功能,您可以使用较早的合同,但是,如果您之前使用的是1.22和1.24之间的合同,则恢复POST的合同可能是最好的解决方法)