Twilio REST API V2 - 如何获取用户的未读消息数?
Twilio REST API V2 - How to get unread message count for a user?
我发现了很多关于未读消息计数的链接,但其中大部分都指向旧版本代码。
从 Current REST API v2,找到这段代码。
.twilioClient
.chat
.services((process.env.TWILIO_CHAT_SERVICE_SID || config.TWILIO_CHAT_SERVICE_SID))
.users(req.params.userSID)
.userChannels
.list({}, (error, result) => {
for (var item in result) {
let count = item.unread_messages_count == null ? 0 : item.unread_messages_count;
totalUnreadMessages += count;
}
但是代码始终将 unread_messages_count 显示为 null,我从这里搜索了 **consumption horizon **。
https://www.twilio.com/docs/chat/consumption-horizon
但不知道如何设置消费范围或其他东西来使这项工作通过 API。
此处为 Twilio 开发人员布道师。
正如 the documentation 所说:
Note: Chat does not automatically set the Consumption Horizon. If you do not explicitly set this within your application, no Consumption Horizon will exist for a User within the Channel. Without a Consumption Horizon, your user's Consumption Horizon (read status
) will not synchronize correctly across clients. If a user does not have a Consumption Horizon set on a channel, getting unconsumed messages will always return 0
. If a member of a Channel has no consumption status, their last consumed index and timestamp will be null
or 0
depending on the platform.
所以,为了有一个消费范围,你需要通过SDK来设置它。在 JavaScript 中,看起来有点像:
activeChannel.updateLastConsumedMessageIndex(someMessageIndex)
.then(function () {
// consumption horizon updated
});
其中 activeChannel
is a channel object that your user has joined 和 someMessageIndex
是您的用户上次阅读的消息的索引。
必须通过 SDK 设置频道的消费范围才能在 REST 中显示 API。
我发现了很多关于未读消息计数的链接,但其中大部分都指向旧版本代码。 从 Current REST API v2,找到这段代码。
.twilioClient
.chat
.services((process.env.TWILIO_CHAT_SERVICE_SID || config.TWILIO_CHAT_SERVICE_SID))
.users(req.params.userSID)
.userChannels
.list({}, (error, result) => {
for (var item in result) {
let count = item.unread_messages_count == null ? 0 : item.unread_messages_count;
totalUnreadMessages += count;
}
但是代码始终将 unread_messages_count 显示为 null,我从这里搜索了 **consumption horizon **。 https://www.twilio.com/docs/chat/consumption-horizon
但不知道如何设置消费范围或其他东西来使这项工作通过 API。
此处为 Twilio 开发人员布道师。
正如 the documentation 所说:
Note: Chat does not automatically set the Consumption Horizon. If you do not explicitly set this within your application, no Consumption Horizon will exist for a User within the Channel. Without a Consumption Horizon, your user's Consumption Horizon (
read status
) will not synchronize correctly across clients. If a user does not have a Consumption Horizon set on a channel, getting unconsumed messages will always return0
. If a member of a Channel has no consumption status, their last consumed index and timestamp will benull
or0
depending on the platform.
所以,为了有一个消费范围,你需要通过SDK来设置它。在 JavaScript 中,看起来有点像:
activeChannel.updateLastConsumedMessageIndex(someMessageIndex)
.then(function () {
// consumption horizon updated
});
其中 activeChannel
is a channel object that your user has joined 和 someMessageIndex
是您的用户上次阅读的消息的索引。
必须通过 SDK 设置频道的消费范围才能在 REST 中显示 API。