404 Przesyłanie treści do Desire2Learn

Mam podstawową aplikację Valence App dla Desire2Learn i teraz próbuję danych POST i albo uzyskać błąd 400 lub 404.

Jeśli zrobi꯹danie GET do / d2l / api / le / (D2LVERSION: wersja) / (D2LID: orgUnitId) / content / root /, z poprawnym orgUnitId, widzę całą zawartość kursu. Jednak kiedy jaSŁUPEK a ContentObjectData typu Module, zwraca 400. Dokumenty nie mają niczego wymienionego dla błędu 400 dla tego konkretnego żądania, ale zakładam, że zawiodłem ContentObjectData. Próbowałem wiele razy, ale zawsze daje 400. Blok JSON wygląda tak: {"Title": "API Test", "ShortTitle": "", "Type": 0, "ModuleStartDate": null , „ModuleEndDate”: null, „IsLocked”: false, „IsHidden”: true}

Jeśli zrobięDOSTAĆ żądanie do / d2l / api / le / (D2LVERSION: wersja) / (D2LID: orgUnitId) / content / modules / (D2LID: moduleId) / structure /, z poprawnym orgUnitId i moduleId, widzę zawartość modułu. Kiedy jaSŁUPEK ContentObjectData typu Topic, zwraca 404. Robię to w Pythonie, który nie zawiera żadnego przykładowego kodu SDK, więc przekonwertowałem PHP.

Używam innego bloku JSON z kluczem „Url”, a następnie odpowiednią wartością. Oto w pełni zakodowany wieloczęściowy obiekt, którego próbowałem POST:

<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>

Dlaczego ten sam URI dla GET i POST spowoduje 404 tylko dla POST? Wygląda na to, że struktura tych dwóch połączeń w dokumentach nie jest inna. Wypróbowałem to wywołanie jako normalne żądanie POST i jako multipart, ale oba skutkują 404. Wypróbowałem oba te połączenia, używając 3 różnych użytkowników, z których jeden ma pełne uprawnienia administratora.

questionAnswers(1)

yourAnswerToTheQuestion