我正在使用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()方法获取用户订阅的所有频道,但无法获取公共频道。
任何帮助将不胜感激。
答案 0 :(得分:3)
Twilio从v2.0更改了客户端构造函数。因此,您需要像这样更改它:
Twilio.Chat.Client.create(token).then(client => {
// Use client
});
或
let client = await Twilio.Chat.Client.create(token);
这将解决上述问题。