【问题标题】:Twilio Chat: Error User not member of channel while joining a private channelTwilio Chat:加入私人频道时出现错误用户不是频道成员
【发布时间】:2018-09-25 21:49:38
【问题描述】:

我正在开发一个 1:1 聊天应用程序。在启动应用程序之前,我使用 PHP 服务器创建私人频道。频道已正确创建。

用户令牌已生成,聊天客户端也已正确创建。我看到用户也是在服务中创建的。

加入私人频道时,会抛出错误。

代码:50400 消息:“用户不是频道成员”状态:403

Javascript 代码:

    Twilio.Chat.Client.create(token,clientOptions).then(client => {
        chatClient = client;
        showMessage('Connecting.....');             
        chatClient.getChannelBySid(channelid)
        .then(function(chosenChannel) {
            showMessage('Joining Chat.....'); 
            myChannel=chosenChannel;                
            joinChannel();
        })
        .catch(function(err) {
            console.log(err);
        })
    }); 

它显示消息“正在连接....”,然后因错误而停止。

PHP 代码:

$client = new Client("sid", "token");       

$channel = $client->chat->services("serviceid")->channels
           ->create(array('friendlyName' => $friendlyName, 'uniqueName' => $uniqueName, 'type' => 'private'));

【问题讨论】:

  • joinChannel() 函数中发生了什么?
  • myChannel.join() 被调用并订阅诸如 messageAdded、memberJoined 等频道事件。
  • 我认为 chatClient.getChannelBySid(channelid) 会抛出错误。
  • myChannel 是某种全球性的吗?你认为是getChannelBySid 是因为你的“加入聊天......”消息没有显示吗?
  • myChannel 是全球性的。调试日志显示如下。 Twilsock D:发送请求:“主机”:“aim.twilio.com”,“路径”:“/v1/Instances/ISXXX1/Channels/CH0XX3”,“方法”:“GET”。 Twilsock D:收到回复:正文:{状态:403,消息:“用户不是频道成员”,代码:50400}

标签: twilio twilio-programmable-chat


【解决方案1】:

这里是 Twilio 开发者宣传员。

当您创建私人频道时,无法在该阶段定义允许谁进入频道。来自the documentation

未受邀或未添加到私人频道的用户看不到私人频道。私有频道成员只能由具有足够权限的其他成员添加,或者通过由您的业务逻辑控制的 REST API 添加。

因此,为了让用户加入私人频道,您需要:

让我知道这是否有意义

【讨论】:

  • 谢谢。将检查并确认。
猜你喜欢
  • 2021-10-06
  • 1970-01-01
  • 1970-01-01
  • 2018-11-17
  • 1970-01-01
  • 2021-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多