Twilo chat(JavaScript API):重新连接到同一频道后,创建者无法删除该频道

时间:2019-01-02 13:11:14

标签: javascript twilio twilio-api twilio-programmable-chat

我执行了以下步骤:

  1. 以客户端身份连接到应用(例如,名称为Adam)。
  2. 添加一个新频道(例如,名称为Channel1的频道)。
  3. 离开频道。
  4. 再次,以亚当身份重新连接到应用。
  5. 删除频道(Channel1)。

我收到以下错误(在上述步骤5): “用户未经命令授权”

因此,频道的创建者无法将其删除。

删除频道的代码是:

   

 function deleteCurrentChannel() {
    if (!tc.currentChannel) {
      return;
    }

    if (tc.currentChannel.sid === tc.defaultChannel.sid) {
      alert('You cannot delete the default channel');
      return;
    }
    
    tc.currentChannel.delete().then(function(channel) {
      setupChannel(tc.joinDefaultChannel);
    }).catch((err) => {
      console.error(err.message);
    });
  }

在Chrome Dev工具控制台上,我尝试检查值并得到如下所示的结果:

  • currentChannel => Channel1
  • messagingClient =>亚当
  • currentChannel.createdBy =>亚当

频道的创建者必须能够删除频道。在这种情况下如何实现?

1 个答案:

答案 0 :(得分:0)

这里是Twilio开发人员的传播者。

我认为这与此处涉及的成员对象的角色和权限有关。成员只有具有destroyChannel permission角色的用户才能删除该频道。

为确保频道的创建者可以删除频道,您必须确保每次用户加入频道时,都为其成员对象赋予一个有权销毁频道的角色。

让我知道是否有帮助。