404 Como postar conteúdo para a Desire2Learn

Eu tenho uma compilação básica do Valence App para o Desire2Learn e agora estou tentando enviar dados POST e recebo um erro 400 ou 404.

Se eu fizer umaSolicitação GET para / d2l / api / le / (D2LVERSION: versão) / (D2LID: orgUnitId) / content / root /, com o orgUnitId correto, posso ver todo o conteúdo de um curso. No entanto, quando euPOSTAR a ContentObjectData do tipo Module, ele retorna um 400. Os documentos não têm nada listado para um erro 400 para essa solicitação específica, mas estou supondo que eu estraguei o ContentObjectData. Eu tentei várias vezes, mas sempre resulta em um 400. O bloco JSON se parece com isso: {"Title": "API Test", "ShortTitle": "", "Tipo": 0, "ModuleStartDate": null , "ModuleEndDate": null, "IsLocked": falso, "IsHidden": verdadeiro}

Se eu fizer umaPEGUE solicitação para / d2l / api / le / (D2LVERSION: versão) / (D2LID: orgUnitId) / conteúdo / modules / (D2LID: moduleId) / structure /, com o correto orgUnitId e moduleId, eu posso ver o conteúdo do módulo. Quando euPOSTAR um ContentObjectData do tipo Topic, ele retorna um 404. Eu estou fazendo isso no Python, que não é dado nenhum código SDK de amostra, então eu converti o PHP.

Eu tenho usado outro bloco JSON com uma chave 'Url' e, em seguida, o respectivo valor. Aqui está o corpo multipartes totalmente codificado que eu tenho tentado postar:

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

Por que o mesmo URI para GET e POST resultaria em um 404 apenas para POST? Não parece que a estrutura seja diferente entre as duas chamadas nos documentos. Eu tentei esta chamada como uma solicitação POST normal e como o multipart, mas ambos resultam em um 404. Eu tentei ambas as chamadas usando 3 usuários diferentes, um que tem privilégios de administrador total.

questionAnswers(1)

yourAnswerToTheQuestion