テスト サーバーに同様のリンク トピックを投稿することに成功しました。HTTP パケット (wireshark によってキャプチャ) は次のようになります。
POST /d2l/api/le/1.2/8083/content/modules/24980/structure/?x_t={timestamp}&x_a={app_id}&x_b={user_id}&x_d={user_sig}&x_c={app_sig} HTTP/1.1\r\n
Host: {test_hostname}\r\n
Content-Length: 186\r\n
Content-Type: application/json\r\n
Accept-Encoding: identity, deflate, compress, gzip\r\n
Accept: */*\r\n
\r\n
JavaScript Object Notation: application/json
Object
Member Key: "StartDate"
Null value
Member Key: "TopicType"
Number value: 3
Member Key: "ShortTitle"
String value: MTF
Member Key: "Title"
String value: My Test File
Member Key: "Url"
String value: http://www.desire2learn.com/
Member Key: "IsHidden"
False value
Member Key: "IsLocked"
False value
Member Key: "EndDate"
Null value
Member Key: "Type"
Number value: 1
送信された UTF-8 文字列として出力された JSON データは次のようになります。
{"StartDate": null, "TopicType": 3, "ShortTitle": "MTF", "Title": "My Test File", "Url": "http://www.desire2learn.com/", "IsHidden": false, "IsLocked": false, "EndDate": null, "Type": 1}
私たちの JSON とあなたの JSON の間に大きな違いは見られないので、実際に送信しているパケットに問題がある可能性があります。404 は、使用しているルートが正しくないことを示しています (たとえば、ルートの「構造」の後にスラッシュが必要です)。
呼び出しを行っているユーザー コンテキストのアクセス許可の問題が発生している可能性もあります。コース コンテンツ (および構造)を表示するためのロール権限は、コース コンテンツを作成および管理するための権限とは異なることに注意してください。呼び出しを行っているユーザー コンテキストに、コース コンテンツを表示するだけでなく、コンテンツを作成および管理するための適切なアクセス許可を付与するロールがあることを確認する必要があります。
これらの提案のいずれも役に立たない場合は、次のレベルのサポートにエスカレーションすることをお勧めします (Valence の D2L の問題トラッカーで問題を開くか、Valence サポートの電子メール アドレスに連絡してください)。前方へ。