0

我执行了以下步骤:

  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 开发工具控制台上,我尝试检查值并得到如下所示的结果:

  • 当前频道 => 频道 1
  • 消息传递客户端 => 亚当
  • currentChannel.createdBy => 亚当

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

4

1 回答 1

0

Twilio 开发人员布道者在这里。

我认为这与这里涉及​​的成员对象的角色和权限有关。成员只有拥有具有destroyChannel权限的角色才能删除频道。

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

让我知道这是否有帮助。

于 2019-01-07T04:06:04.270 回答