【问题标题】:How to get the message sender UUID/metadata from pubnub history?如何从 pubnub 历史记录中获取消息发送者 UUID/元数据?
【发布时间】:2023-03-04 08:16:06
【问题描述】:

我想知道从 pubnub.history 检索到的消息是谁发送的!

pubnub.history() 只返回时间令牌和消息。

【问题讨论】:

    标签: pubnub


    【解决方案1】:

    PubNub 发件人 UUID:实时与历史

    发送者(发布者)UUID 在您作为订阅者实时收到的消息中提供,但 PubNub 仅存储您发布的实际 message 以及提供的任何 meta 数据:

    PubNub JavaScript SDK publish docs sample code

    pubnub.publish(
        {
            channel: 'my_channel',
            message: { 
                such: 'object'
            },
            meta: { 
                "cool": "meta"
            }
        }, 
        function (status, response) {
            if (status.error) {
                // handle error
                console.log(status)
            } else {
                console.log("message Published w/ timetoken", response.timetoken)
            }
        }
    );
    

    最佳实践是将发布者的 UUID 添加到 meta 参数中,这不仅允许您使用 history API 获取此值,还可以使用它来过滤客户端已发送的消息( don't receive your own messages using Stream Filter)。

    【讨论】:

    • 我之前尝试过,但我只得到了 entry 和 timetoken !
    • 日志,我必须看看。解决问题,我会的。 ;) 如果你可以enable PubNub client logging and reproduce the issue and send us the log results,我大概可以找到根本原因。你可以send to PubNub Support,我会在这里发回解决方案。当您通过支持部门联系我们时,请务必包含此 SO 链接。
    • 另外,我认为您不了解消息和元数据之间的区别。
    • 我了解其中的区别,我目前使用元数据很多,但它在历史上不起作用,无论如何,我设法解决了这个问题。
    • 当然。想知道解决方案/解决方法,请通过 PubNub 支持提交任何有关元数据未存储或无法在 PubNub 存储中访问的问题,以便我们可以修复任何无法按预期工作的问题。
    猜你喜欢
    • 2022-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    • 1970-01-01
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    相关资源
    最近更新 更多