0

我们需要获取特定用户的通知。通知是指出现在 D2L 迷你栏中的“警报”项目(消息警报、更新警报、订阅警报)。

我们希望将其中一些项目集成到我们的 CMS 菜单中。

我看到 D2L 提供了一个通知 API: http ://docs.valence.desire2learn.com/res/user.html#id1

问题 1:通知 API 是否足够灵活,可以为用户获取上述项目?

问题2:

为了试验通知 API,我尝试使用以下 API 调用: http ://docs.valence.desire2learn.com/res/user.html#get--d2l-api-lp-%28D2LVERSION-version%29-notifications -即时运营商-

并且遇到了 403 错误。

该文档指出:

这些路由取决于启用通知工具的后端服务。如果服务没有激活通知工具,那么对这些路由的所有调用都将导致授权 (403) 错误结果。

后端切换此设置的选项在哪里?这个设置在 DOME 的某个地方可用吗?

问题 3:对于 Alert 项目,是否有静态链接可以在 D2L 上查看这些项目?

例如,我可以访问:

  • 寻呼机 - 在 example.desire2learn.com/d2l/lms/pager/messageList.d2l?ou=ORGID
  • 电子邮件 - 在 example.desire2learn.com/d2l/lms/email/frame.d2l?ou=ORGID

但是,似乎没有办法从静态链接访问“更新警报”和“订阅警报”项目。当您单击迷你栏中的这些图标时,它们仅通过 AJAX 出现。如果我忽略了这些链接的位置,请告诉我。

4

1 回答 1

0

答案会很长,而且可能不是你想听到的。首先,“警报”(显示在迷你吧中的项目)和“通知”之间有很大的区别。通知 API 只是公开“即时通知首选项”表,当您打开用户的Notifications设置页面(该页面位于 url:http://yourLMS.edu/d2l/Notifications/Settings)时可以看到该表。

可以作为“通知”发送的消息类型是 Instant Notifications 表中的行;对它们来说,“载体”或端点是复选框列。Notifications API 公开此表,让您检索它的当前状态,并更改通知messageTypeIdcarrierId.

因此,要回答您的具体问题:

问题 1。不,Notifications API 目前不提供对 LMS Web UI 中迷你栏控件中显示的警报的任何访问权限。

问题 2。您的 403 可能表明您的调用用户上下文没有使用通知工具所需的权限:调用用户必须具有授予他们以下能力的角色Receive Instant Notifications- 否则,检索运营商列表的 API 调用会导致403.

如果您的组织已经完全关闭了通知工具,那么很可能没有用户能够通过 Web UI 看到他们的通知设置页面,并且重新打开它可能需要您的组织致电 D2L 的支持台将其打开重新开启:我不确定客户组织管理员是否有能力在没有支持台干预的情况下选择打开和关闭哪些工具。

问题 3。我不相信更新和订阅警报列表有静态页面。

于 2013-07-10T20:22:37.127 回答