通过效价向D2L添加新闻

时间:2013-11-18 20:11:42

标签: desire2learn

我希望我可以在添加D2L新闻方面获得一些帮助。我已经尝试了很多,并且已经到了我不知道还有什么可以尝试的地步。

我继续得到的错误是404.所以,我想我正在尝试的URL或者我正在发送的数据(或者可能正在发送的内容类型)有问题。< / p>

我在添加新闻时看到,你需要传递一个多部分/混合POST主体。所以,我已经尝试更改我的代码以包含它,但我仍然不确定发生了什么。

我认为这不是权限,因为我应该拥有此帐户的完全访问权限(并且它不是403,而是404)

这是我要发送的数据。

整体内容类型:

ContentType: multipart/mixed;boundary=6da451c7

正在发送的数据:

--6da451c7
Content-Type: application/json
{"Title":"Test News Title","Body":{"Text":"Testing Testing 123...Testing Testing","Html":"<p>Testing Testing 123...Testing Testing</p>"},"StartDate":"2013-11-17T20:07:11Z","EndDate":"2013-12-02T20:07:11Z","IsGlobal":false,"IsPublished":false,"ShowOnlyInCourseOfferings":false}
--6da451c7

这是我正在尝试将数据发布到的URL(略微修改为不包含个人数据)。

https://gsutest.desire2learn.com/d2l/api/le/1.3/6606/news/?x_a={{TOKEN}}&x_b={{TOKEN}}&x_c={{TOKEN}}&x_d={{TOKEN}}&x_t={{TIMESTAMP}}

我不确定从哪里开始,任何帮助都会很好。我意识到我可能会错误地创建我的POST身体数据,但我只是不确定要尝试什么。

谢谢!

---- ----编辑

使用fiddler进行POST并捕获此数据

POST https://gsutest.desire2learn.com/d2l/api/le/1.3/6606/news?x_a={{APPID}}&x_b={{USERID}}&x_c=OR0KIlHnHChrBvhHT99HVkH4WrD9dw_uPlpTGzKOdXc&x_d=b_TmyIHdTOL3U5bkNa1UNn11S4Yg7Cc3GOBoI911gLE&x_t={{TIMESTAMP}} HTTP/1.1
Content-Type: multipart/mixed;boundary=1649e26b
Host: gsutest.desire2learn.com
Content-Length: 342
Expect: 100-continue
Connection: Keep-Alive

--1649e26b
Content-Type: application/json
{"Title":"Test News Title","Body":{"Text":"Testing Testing 123...Testing Testing","Html":"<p>Testing Testing 123...Testing Testing</p>"},"StartDate":"2013-11-19T21:07:03.838Z","EndDate":"2013-12-04T21:07:01.413Z","IsGlobal":false,"IsPublished":false,"ShowOnlyInCourseOfferings":false}
--1649e26b

----编辑#2 ----

使用fiddler进行另一次POST并捕获此数据。我发送的数据来自:http://docs.valence.desire2learn.com/basic/fileupload.html#simple-uploads(在上传到新闻栏目下)

POST https://gsutest.desire2learn.com:443/d2l/api/le/1.3/6606/news/?x_a={{APP_ID}}&x_b={{USER_ID}}&x_c=rdzAFVUE6xBS24N5nE_4Hf5sbwpvJH1OVJaK4Ow-XT8&x_d=TmadrEGw55aKwS1uuNo68kvaR_pvYLUWJdsFa7LhrEQ&x_t={{TIMESTAMP}}" HTTP/1.1
Content-Type: multipart/mixed;boundary=xxBOUNDARYxx
Host: gsutest.desire2learn.com:443
Content-Length: 270

--xxBOUNDARYxx
Content-Type: application/json
{"EndDate": null, "IsPublished": false, "ShowOnlyInCourseOfferings": false,"Title": "Test title", "Body": {"Text": "Test body text", "HTML": null},"StartDate": "2013-02-20T13:15:30.067Z", "IsGlobal": false}
--xxBOUNDARYxx

我仍然将“HTTP / 1.1 404 Not Found”作为响应标题。

1 个答案:

答案 0 :(得分:0)

使用您提供的数据,我发现您缺少UTCDateTime格式的毫秒值。通过在每个日期添加毫秒值.067和.068,我可以成功发布POST。我使用Getting Started Sample对LMS进行了此操作,其中我有一个具有POST新闻项目权限的教师帐户。