当前位置: 首页 > 知识库问答 >
问题:

Twilio聊天通道getMembers()方法访问forbitten

阎辰钊
2023-03-14

其中一个事件是ChannelAdded事件。在钩子中,我必须检索通道的成员(以便在二进制房间中获得相反的成员名),如下所示

channel.getMembers()

当我这样做的时候,Twilio回来了:

name: "SyncError"
message: "Access forbidden for identity (status: 403, code: 54007)"
status: 403
code: 54007

如果访问该方法的用户不同时是该通道的作者和成员,这将是有意义的。

当我创建一个二进制通道(2个成员)时,我需要手动添加作者作为通道的成员,也如下所示:

        var channel = await this.client.createChannel({
            friendlyName: command.roomName,
            isPrivate: command.isPrivateRoom
        })
        var p1 = channel.add(command.currentUserId);
        var p2 = channel.add(command.oppositeUserId);
        await Promise.all([p1,p2])
        return command.roomName;

是否有一个快捷方式或一种方法来自动,添加的成员在创建?

共有1个答案

壤驷升
2023-03-14

这里是Twilio开发者布道者。

根据文档:

一旦创建了一个通道,用户必须加入该通道才能开始在该通道上接收或发送消息。

await channel.join();
const members = await channel.getMembers();
 类似资料:
  • null 还有...问题是这个方法返回错误的成员数。我创建了一个有5个成员的通道,但方法只返回了其中的3个成员。刷新页面后,一切都按预期工作-返回5个成员。好像有什么种族问题。我可以在每一个新频道上“等待”一两秒钟--这感觉很怪,但很可能解决了这个问题。 我做错什么了吗?

  • 我正在尝试创建一个简单的聊天应用程序之间的两个用户,使用twilio js API。 如果它已经存在,则表示另一个用户已经登录,我希望加入此通道。 否则,我想用这个特定名称创建一个通道,并等待其他用户。 我尝试了两种选择:1。聊天客户端。2.IPMessaging客户端。 我正在尝试使用此功能:

  • 我正在开发一个1:1的聊天应用程序。在启动应用程序之前,我使用PHP服务器创建私有通道。正确创建通道。 生成用户令牌,并正确创建聊天客户端。我看到用户也是在服务中创建的。 它显示消息“正在连接....”然后在出现错误时停止。 PHP代码:

  • 使用twilio-chat.js我如何在一个频道上监听消息?我找到了这个问题,它问如何在多个频道上收听,但我找不到任何东西描述如何在一个频道上做到这一点。

  • 但是,据我所知,这些通知是在实例化的TwilioChatClient客户机上调用之后创建的,而不是通过应用程序的AppDelegate方法创建的。更奇怪的是,被调用,但仅当应用程序处于活动状态时,而不是后台状态,我希望在后台状态下执行一些操作。 是否有人知道这些通知是在哪里以及如何创建的,或者为什么只在活动状态期间调用?除其他外,我想增加应用程序图标徽章编号与每个通知发送由客户端。 其中按预期工作

  • 我没有收到接收消息的推送通知等,也不确定有什么其他杠杆可供我使用。如果团队中的任何人看到这条消息,我很想知道如何调试它。