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 に答える