1

我正在使用 REST API 创建房间。在docs中,它说一个房间会在空了 5 分钟后结束。我想知道在尝试重复使用同一个房间时这意味着什么。参与者可以重新加入那个房间吗?

我的用例是用户通过服务器端点请求加入房间。执行检查UniqueName以查看该房间是否存在。如果没有,则使用UniqueName.

肯定会有一个房间被创建但空置超过 5 分钟的情况,我想重新使用它UniqueName来加入房间(空的、已完成的或其他)。但我不清楚房间建成后是否可以这样做。

例如,如果另一个用户尝试加入已完成的房间,上面的逻辑是否仍然有效,还是会破坏 b/c 房间处于completed无法加入或重新创建状态的状态?我的目标是始终可以访问具有相同UniqueName.

请指教,谢谢。

编辑

我只是想通过检索房间列表UniqueName,这将向我显示一个已经创建的房间,无论其状态如何。但是,如果状态为 ,我仍然需要能够使用同一个房间completed

状态可以更新completedin-progress吗?

更新

似乎状态无法从更新completedin-progressUniqueName那么,当一个房间完成后,如果已经存在一个具有该唯一名称的房间,我该如何继续将其用于另一个房间?

4

1 回答 1

2

在这里回答我自己的问题,因为我认为我有一个解决方案。

在修改了 Twilio 快速入门应用程序后,我发现它UniqueNamein-progress. 我通过在几秒钟内多次加入和离开房间来验证这一点。每次我离开时都会创建一个新房间。我不知道这一点,但是通过客户端 SDK 创建的房间会在所有参与者离开后立即关闭。如文档中所述,通过 REST API 创建的房间保持开放 5 分钟。

当我说“创建”时,我的意思是创建了一个带有新房间的新房间,SID并且可以在 Twilio 控制台中查看,即使 UniqueName 没有更改。因此,您实际上可以拥有多个具有相同的房间,但在进行 REST API 调用时UniqueName,只评估具有状态的房间。in-progress

因此,答案是简单地尝试创建一个具有唯一名称的房间。如文档中所述,当房间存在时这样做会导致 404 错误。IE:

{ [Error: Room exists]
  status: 400,
  message: 'Room exists',
  code: 53113,
  moreInfo: 'https://www.twilio.com/docs/errors/53113',
  detail: undefined }

但是,如果已经有一个具有该唯一名称completed的房间,则可以创建一个具有相同唯一名称的新房间。最简单的方法是尝试/捕捉创建房间并处理​​错误。

  let room;

  try {
    room = await client.video.rooms.create({uniqueName: 'test'})
  } catch (e) {
    console.log(e);
  }
于 2019-09-24T23:49:30.337 回答