我正在使用其余的api创建一个twilio视频室并设置statusCallback:
classroomRouter.route('/room/:id')
.get(function (req, res) {
client.video.rooms
.create({
uniqueName: req.params.id,
statusCallback: 'localhost:3000/classrooms/listen'
})
.then(function (room) {
console.log('room.sid');
console.log(room.sid);
});
});
每当房间里发生事件时,Twilio会向statusCallback发送请求吗?据我所知,刷新渲染房间的窗口构成参与者连接和参与者连接事件。
但我设置的路线(localhost:3000 /教室/听)在刷新窗口时没有收到任何请求。这是为什么?
我还有其他一些问题: Q1:两个房间可以有相同的唯一名称吗?
(twilio文档说你可以使用他们的单一序列来查询房间列表。如果名字是唯一的,那怎么可以成为房间的列表?)
Q2:如果这些名字确实是唯一的,那么如果一个房间已经存在我提供的单一名称会怎么样?它会回到现有的房间吗?
问题3:如果房间不存在,我该如何发出此命令?
答案 0 :(得分:0)
Twilio开发者传道者在这里。
Twilio无法在您的计算机上访问localhost:3000
,因为它不是公共地址。在开发Twilio应用程序时,我们建议您使用ngrok之类的工具,它可以隧道进入您的计算机并公开您的应用程序。我在why I like using ngrok上写了一篇博客文章。
Q1:两个房间可以拥有相同的uniqueName吗? (twilio博士说 您可以使用他们的uniquename查询房间列表。如果名字是 独特的,它如何成为房间的“清单”?)
两个房间不能具有相同的uniqueName。如果您按uniqueName过滤列表响应,那么您仍然会返回一个列表,它只包含一个房间。
Q2:如果这些名字确实是独一无二的,那么如果一个房间已经发生了什么 存在我提供的uniquename?它会回归现有的吗? 房间?
如果您正在创建一个已存在唯一名称的房间,您将收到一个错误,您应该使用承诺上的catch
函数处理该错误。
问题3:如果房间不存在,我该如何发出此命令?
您可以先通过uniqueName查询房间的API,然后根据您是否收到回复来决定创建它。或者,您可以在尝试创建错误并以此方式处理错误后捕获错误。