1

D2L Rest API を使用して、既存のフォーラム内にトピックを作成するために次のブロックを送信します。

URL: POST /d2l/api/le/(D2LVERSION: バージョン)/(D2LID: orgUnitId)/discussions/forums/(D2LID: forumId)/topics/

{
    "Name" : "Test Forum API",
    "Description" : {
        "Text" : "",
        "Html" : "Test"
    },
    "AllowAnonymousPosts" : true,
    "StartDate" : null,
    "EndDate" : null,
    "IsHidden" : false,
    "UnlockStartDate" : null,
    "UnlockEndDate" : null,
    "RequiresApproval" : false,
    "ScoreOutOf" : null,
    "IsAutoScore" : true,
    "IncludeNonScoredValues" : true,
    "ScoringType" : null,
    "IsLocked" : false,
    "MustPostToParticipate" : true
}

取得エラー: 情報: リダイレクトが要求されましたが、followRedirects は無効になっています ステータス コード 302 オブジェクトは /d2l/error/404 に移動しました

4

2 に答える 2

0

投稿とリダイレクトは連携しません。多くの場合、環境 (ロードバランサーまたはその他のネットワーク コンポーネント) は、すべての http 操作を https に自動的にリダイレクトします。そうすると、クライアント ライブラリは実際には 302 に従いません。

有効になっている場合は、おそらく https を使用することをお勧めします。D2L ライブラリに https URL を生成させることができます。

(ただし、GET 操作がリダイレクトされるシナリオがあるため、使用しているクライアントの http ライブラリをリダイレクトに従うようにすることもできます)

于 2012-09-30T13:17:23.643 に答える
0

新しいトピックを作成するために API に渡す必要がある CreateTopicData 構造は、入力の Description プロパティの複合構造を使用しないことに注意してください。代わりに、わずかに異なる複合構造をRichText使用する必要があります。RichTextInput

{
    "Name" : "Test Forum API",
    "Description" : {
        "Content" : "Test",
        "Type": "HTML"
    },
    ...
}

ただし、API はoutputRichTextで構造体を返します。

テスト サービスを使用して、次のような URL への POST を送信します (組織 ID が 8083、フォーラム ID が 4174 であると仮定)。

https://myLMShost.edu/d2l/api/le/1.0/8083/discussions/forums/4174/topics/

次のような JSON 構造を渡しました。

{'AllowAnonymousPosts': True,
 'Description': {'Content': 'test', 'Type': 'HTML'},
 'EndDate': None,
 'IncludeNonScoredValues': False,
 'IsAutoScore': True,
 'IsHidden': False,
 'IsLocked': False,
 'MustPostToParticipate': True,
 'Name': 'Test Forum API',
 'RequiresApproval': False,
 'ScoreOutOf': None,
 'ScoringType': None,
 'StartDate': None,
 'UnlockEndDate': None,
 'UnlockStartDate': None}

そして、テスト サービスは次のような新しいトピック投稿を返しました。

{'AllowAnonymousPosts': True,
 'Description': {'Html': 'test', 'Text': ''},
 'EndDate': None,
 'ForumId': 4174,
 'IncludeNonScoredValues': False,
 'IsAutoScore': True,
 'IsHidden': False,
 'IsLocked': False,
 'MustPostToParticipate': True,
 'Name': 'Test Forum API',
 'PinnedPostCount': 0,
 'RatingsCount': 0,
 'RatingsSum': 0,
 'RequiresApproval': False,
 'ScoreOutOf': None,
 'ScoredCount': 0,
 'ScoringType': None,
 'StartDate': None,
 'TopicId': 88569,
 'UnapprovedPostCount': 0,
 'UnlockEndDate': None,
 'UnlockStartDate': None}
于 2012-10-01T15:12:06.337 に答える