2

使用 twilio-ruby 包连接到 Twilio 的 IP 消息服务的 REST API 并尝试计算未读消息计数。

REST API 正在对消息进行分页,以便类似

channel.messages.list.last.index

一旦频道中的消息超过 50 条,将返回 49。

有没有办法只获取频道上的最后一条消息(在 android/ios SDK 中似乎有可能)以避免对所有消息历史进行分页?

4

1 回答 1

1

关于计算未读消息计数,请查看Message Consumption Horizo​​nlastConsumedMessageIndex并从列表中的消息总数中减去- 1。

对于消息列表(在 Python 中):

https://www.twilio.com/docs/api/ip-messaging/rest/messages#list-all-messages

# Download the Python helper library from twilio.com/docs/python/install
from twilio.rest.ip_messaging import TwilioIpMessagingClient

# Your Account Sid and Auth Token from twilio.com/user/account
account = "ACCOUNT_SID"
token = "AUTH_TOKEN"
client = TwilioIpMessagingClient(account, token) 

service = client.services.get(sid="SERVICE_SID")
channel = service.channels.get(sid="CHANNEL_ID")
messages = channel.messages.list()  

另请参阅发送消耗报告(JavaScript 中的示例):

//determine the newest message index
var newestMessageIndex = activeChannel.messages.length ? 
    activeChannel.messages[activeChannel.messages.length-1].index : 0;
//check if we we need to set the consumption horizon
if (activeChannel.lastConsumedMessageIndex !== newestMessageIndex) {
    activeChannel.updateLastConsumedMessageIndex(newestMessageIndex);
}
于 2016-06-28T23:15:27.170 回答