【问题标题】:Getting list of topics via JS Unified Api通过 JS Unified Api 获取主题列表
【发布时间】:2017-06-09 09:56:37
【问题描述】:

我正在尝试获取我的扩散实例中所有主题的列表。我有多个根主题,所有这些都有自己的子主题。我只需要获取服务器上的任何内容及其层次结构。我已经为此联系了扩散支持,他们告诉我 JS api 中没有这种方法。这完全可行吗?

我现在正在最后一次构建扩散 5.9。

【问题讨论】:

  • 我们想帮助迈克尔。您能详细说明一下您的用例吗?
  • @MartinCowie 我们托管了多个根主题,它们都有自己的层次结构。大多数主题都是单值主题。在我的 JS 客户端中,每当我连接到扩散集群后,我首先需要获取根主题列表,然后分别获取它们的子主题。问题是,我永远不会知道有哪些主题,因为主题名称是由另一个来源生成的——这也包括根主题名称。因此,我正在研究如何获取这些主题的解决方案。我已经摆弄了扩散控制台的 JS 文件(在部署文件夹中),但老实说迷路了。想法?
  • 谢谢迈克尔 - 我们有一些解决方案,并希望找到最合适的。请发送电子邮件至 support@pushtechnology.com,我们可以在那里继续对话(通过电子邮件和电话)。

标签: javascript push-notification push-diffusion


【解决方案1】:

v5.9 版缺少用于枚举主题树的 API,但未来版本将包含一个。控制台使用未记录的协议,可能会发生变化。

主题集很少是静态的,因为创建和删除主题是为了反映现实世界的事件,因此枚举和订阅离散主题是一种不常见的做法。更常见的解决方案实施者将识别感兴趣的主题分支,并使用 a topic-selector 订阅该主题和所有后代,例如订阅 ?foo// 可识别根主题 foo 以及当前和未来的后代主题集。

对于您关于识别根主题的问题,我们通常会看到多种方法。

  1. 根主题被烘焙到客户端中
  2. 客户端请求一组根主题,将请求发送到另一个客户端正在侦听的主题路径。
  3. 通常情况下,客户端不会主动订阅主题。相反,控制客户端根据身份验证期间使用的主体为客户端订阅一组所需的主题。控制客户端通过session properties listener 获知客户端的新会话。

【讨论】:

    猜你喜欢
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多