twilio中的statusCallback未触发

时间:2017-09-18 17:27:14

标签: javascript node.js express twilio twilio-api

我正在使用其余的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:如果房间不存在,我该如何发出此命令?

1 个答案:

答案 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,然后根据您是否收到回复来决定创建它。或者,您可以在尝试创建错误并以此方式处理错误后捕获错误。