Twilio 可编程聊天 - 旧聊天的访问被拒绝(代码:54007)

Twilio Programmable Chat - Access denied (code: 54007) for old chats

我们在我们的项目中使用 Twilio 可编程聊天 1 年。在移动端我们使用 twilio-chat v.6.0.0 SDK。在后端,我们使用 java 库 - com.twilio.sdk:twilio:7.51.0

问题

但几天前我们开始遇到移动端授权问题。当我们创建新聊天并使用它们时一切正常。

但是当我们尝试获取旧聊天的消息(在该问题之前创建)时,我们收到以下错误 access forbidden for identity (status: 403, code: 54007)

我们尝试了什么

这是我们访问令牌的结构:

我的猜测是聊天中的权限最近发生了一些变化 API,默认配置对我们不起作用。

我不知道它到底是什么。请帮忙。

这是帮助我们的 Twilio 支持的官方回答:

Recently the engineering team has effectively deployed some modifications over Programmable Chat; before this change, users would be able to see channel messages that they were not part of. With this update, users will receive error code 54007 for Chat if they try to read any channel that they are not a member of.

在我们的例子中,我们在尝试为用户不是 Error: Access forbidden for identity (status: 403, code: 54007) 成员的频道获取消息时遇到了同样的错误。这发生在 Twilio SDK twilio-chat 6.0.0 和 4.1.0 中。

在查看 Twilio 控制台中的“角色和权限”部分后,我们注意到“服务用户”(聊天用户的默认用户角色)没有激活“editChannelAttributes”权限,因为与仍然可以为未加入的频道获取消息的另一个子帐户相比。

为服务用户激活“editChannelAttributes”权限并获取消息似乎再次起作用。

我不确定此权限与获取消息之间的联系可能是什么,但也许此信息仍然有用。