404 Публикация контента в Desire2Learn
У меня есть базовая сборка приложения Valence для Desire2Learn, и сейчас я пытаюсь отправить данные POST, и я получаю либо ошибку 400, либо 404.
Если я сделаюПОЛУЧИТЬ запрос to /d2l/api/le/(D2LVERSION: version)/(D2LID: orgUnitId)/content/root/, with the correct orgUnitId, I can see all of the content for a course. However, when I СООБЩЕНИЕ ContentObjectData of type Module, it returns a 400. The docs have nothing listed for a 400 error for that particular request, but I'm assuming that I messed up the ContentObjectData. I've tried multiple times, but it always results in a 400. The JSON block looks like this: { "Title": "API Test", "ShortTitle": "", "Type": 0, "ModuleStartDate": null, "ModuleEndDate": null, "IsLocked": false, "IsHidden": true }
Если я сделаюПОЛУЧИТЬ запрос в / d2l / api / le / (D2LVERSION: версия) / (D2LID: orgUnitId) / content / modules / (D2LID: moduleId) / structure /, с правильным orgUnitId и moduleId, я могу видеть содержимое модуля. Когда я СООБЩЕНИЕ ContentObjectData типа Topic, он возвращает 404. Я делаю это в Python, в котором нет примера кода SDK, поэтому я преобразовал PHP один.
Я использовал другой JSON блок с ключом "url" а затем соответствующее значение. Здесь полностью закодированное многочастное тело, которое я пытался отправить:
<code> --redacted.132.0.68062.1336325296.611.1 Content-Disposition: form-data; name="ContentObjectData" Content-Type: application/json {"StartDate": null, "IsLocked": false, "TopicType": 3, "ShortTitle": "", "Title": "API Test", "Url": "http://redacted.edu", "EndDate": null, "IsHidden": true, "Type": 1} --redacted.132.0.68062.1336325296.611.1 Content-Type: application/json {"Url": "http://redacted.edu"} --redacted.132.0.68062.1336325296.611.1-- </code>
Почему один и тот же URI для GET и POST приводит к 404 только для POST? Это не похоже, что структура между этими двумя вызовами отличается документы. Я попытался этот вызов как обычный запрос POST и как составная часть, но оба результата дают 404. Я пробовал оба этих вызова, используя 3 разных пользователи, тот, который имеет полные права администратора.