【问题标题】:Rocket.Chat - How get roomIdRocket.Chat - 如何获取 roomId
【发布时间】:2017-05-31 14:37:30
【问题描述】:

我是 Rocket.Chat 的新手。我需要向频道发送消息。我已经获得授权。当我阅读有关发送消息的文档时,我发现了 roomId 参数,但我不知道如何获取此 ID。我尝试在 Rocket.Chat 的管理面板中找到,但没有成功。还有如果谁知道,如何访问 Rocket.Chat 数据库

谢谢

【问题讨论】:

  • 您是否尝试从 API 访问 Rocket Chat? Rocket Chat 将其数据存储在 MongoDB 中

标签: rocket.chat


【解决方案1】:

要访问数据库,您可以使用Robo 3t(如何与meteor How to connect mongodb clients to local Meteor MongoDB一起使用)。

或者您可以使用rest api 获取频道信息https://rocket.chat/docs/developer-guides/rest-api/channels/info

【讨论】:

    【解决方案2】:

    我假设您正在使用 API 发送消息,如果是,那么您将是创建频道(房间)的人。

    当您创建新频道时,响应包含有关新创建频道的详细信息,其中包括生成的_id

    在这种情况下,每当您创建一个新频道时,将其存储在您的数据存储中的某个位置,然后使用该频道的名称进行恢复,这样每次您需要获取 roomId 时,您都无需访问 Roekct API。

    【讨论】:

      【解决方案3】:

      首先,调用 API create-visitor 创建访问者,作为响应,您将获得一个令牌,在下一个 API 中使用 open-room 打开一个房间,作为响应,您将获得 room-id。

      【讨论】:

        【解决方案4】:
        {
            "msg": "method",
            "method": "createDirectMessage",
            "id": "42",
            "params": ["username-goes-here"]
        }
        

        使用 createDirectMessage api,您必须传递要为其创建空间的用户的用户名。如果您不发送任何用户,则会创建一个只有您的房间。

        此 api 将返回已创建房间的 roomId。以下是上述api的响应。

        {
            "msg": "result",
            "id": "42",
            "result": {
                "rid": "room-id-would-be-here"
            }
        }
        

        每次使用相同的用户列表点击 createDirectMessage api,都会返回相同的 roomId。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-07-04
          • 2016-06-25
          • 1970-01-01
          • 2017-02-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多