无法获得公共频道

时间:2018-04-04 12:25:57

标签: javascript twilio

我正在使用twilio可编程聊天提供的javascript SDK创建一个小应用程序,我想获得所有通道的列表,为了实现这一点,我使用的是getPublicChannelDescriptors()方法。

下面是代码:

$.getJSON(
    '/getToken?identity=' + identity + '&endpointId=' + endpointId,

    function (data) {

        console.log(data);
        chatClient = new Twilio.Chat.Client(data.token);

    chatClient.getPublicChannelDescriptors().then(function(channels) {

        //do something
    });
   }
 );

我得到的错误如下:

twilio-chat.min.js:149 Uncaught TypeError: Cannot read property 'getChannels' of null

我在响应ajax调用时获取数据并且能够成功创建chatClient,并且我能够使用getSubscribedChannels()方法获取用户订阅的所有频道,但无法获取公共频道。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

Twilio从v2.0更改了客户端构造函数。因此,您需要像这样更改它:

Twilio.Chat.Client.create(token).then(client => {
// Use client
});

let client = await Twilio.Chat.Client.create(token);

这将解决上述问题。