0

我正在尝试在 Twilio 上的可编程聊天中发送媒体消息。但根据文档,只有频道管理员频道用户角色可以发送媒体消息。当我创建我的聊天客户端时,它会自动为他们分配服务管理员服务用户角色。如何以频道管理员或频道用户的身份加入频道,以便发送媒体消息。

以下是我用于创建聊天客户端和加入频道的代码:

 initChat = () => {
    this.chatClient = new Chat(this.state.token);
    this.chatClient.initialize().then(this.clientInitiated.bind(this));
  };

clientInitiated = () => {
    this.setState({ chatReady: true }, () => {
      this.chatClient
        .getChannelByUniqueName(this.channelName)
        .then(channel => {
          if (channel) {
            return (this.channel = channel);
          }
        })
        .catch(err => {
          if (err.body.code === 50300) {
            return this.chatClient.createChannel({
              uniqueName: this.channelName
            });
          }
        })
        .then(channel => {
          this.channel = channel;
          window.channel = channel;
          if (channel.state.status !== "joined") {
            console.log("New member joining in");
            return this.channel.join();
          } else {
            console.log("already joined the channel earlier");
            return this.channel;
          }
        })
        .then(() => {
          console.log("Channel: ", this.channel);
          this.channel.getMessages().then(this.messagesLoaded);
          this.channel.on("messageAdded", this.messageAdded);              
        });
    });
  };
4

1 回答 1

0

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

文档中

角色和角色范围

聊天角色分为两个“范围”,即服务和频道。这些决定了如何根据上下文应用角色权限。

  • 服务级别角色分配给用户,并规定用户可以查看、加入和创建哪些频道。
  • 频道级角色分配给频道内的成员。这些角色决定了成员可以在该频道中执行的操作,例如发送消息、添加其他成员、编辑消息等。

因此,虽然您的聊天客户端具有服务角色,但您的用户在频道中的成员将具有频道级别的角色,例如频道管理员或频道用户,并且能够发送媒体消息。

查看有关角色和权限的文档以及角色REST API 以了解更多信息。

于 2018-10-11T22:17:15.467 回答