【问题标题】:Fetching all channels using Getstream使用 Getstream 获取所有频道
【发布时间】:2020-04-20 08:59:13
【问题描述】:

我正在尝试获取用户的所有频道(该用户所属的频道)。所以,我知道了:

        const filter = {
            type: 'messaging',
            members: { $in: [`${req.body.id}`] },
        };
        const sort = { last_message_at: -1 };
        const channelList = await client.queryChannels(filter, sort, {
            watch: true,
            state: true,
        });

,通过将当前用户 ID 作为 req.body.id 发送。我已经为它创建了一个单独的函数。当用户进入该页面时,我需要调用该函数。但是当我这样做时,我收到此错误作为响应:

“StreamChat 错误代码 4:QueryChannels 失败并出现错误:“Watch or Presence 需要一个活动的 websocket 连接,请确保包含您的 websocket connection_id”

请建议我在完成这项任务时是否做错了什么,或者我在这里做错了什么。

【问题讨论】:

  • 您需要在client 上调用connect,这将通过setUser 将您带到设置用户,因为您需要watch: true 的频道事件。

标签: node.js chat messaging channel getstream-io


【解决方案1】:

您似乎正在向queryChannels 发送watch: true,但setUser 未被调用或尚未完成。

要解决这个问题:调用await client.setUser({id}) 并在queryChannels 之前等待其完成(因此等待)。

【讨论】:

    猜你喜欢
    • 2015-07-16
    • 2015-09-02
    • 2020-11-26
    • 2016-08-05
    • 2016-05-13
    • 2021-03-14
    • 2018-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多