下面是一些对接zoom视频会议系统时遇到的问题的总结,主要是对zoom开发的一些容易混淆的概念,一些错误做一下梳理。
在国内使用zoom
如果zoom账号是免费的,在国内使用会遇到问题,也不能正常登录,也不能加入会议(注意并不是自己发起会议而是加入会议,会遇到13215错误)。
这时,免费账户必须要使用一个国外ip登录和加入会议才可以。或者,就是必须使用国外的ip在zoom.us购买License,之后这个账户使用zoom就可以在国内直接使用,不需要国外的ip了。
有关付费License
zoom对会议可以作为主持人的角色的设置,往往会要求带有付费License的账户,比如schedule_for参数,alternative_host等等。所以在调用一些API时,会遇到类似如下的错误
{"code": 1115, "message": "Unable to assign \"xxx@example.com\" as an alternative host because this user is not licensed"}
这些情况下,就需要一个付费的账号,并且通过createUser这个API把对应的账户加到付费账户下面。在zoom.us/pricing 页面,每一档License下面的xx-xx users的说明,就是该档License可以支持的用户数量。免费账户在调用createUser API时,会返回一个成功(200),但是没有privilege的提示
{'code': 200, 'message': 'No privilege.'}
总之还是需要付费License的。
并发会议
关于zoom的并发会议(concurrent meetings)问题,主要的限制是在主持人(host)上。对于Basic和Pro License的账户来说,同一个主持人只能同时在同一个会议里,而对于Business/Education/Enterprise License的账户来说,则可以同时主持两个会议(在两个不同的设备上)。
这里,使用create meeting API创建会议时,不会做任何的会议的并发性的检查,也就是会议总是可以被创建出阿里。只是主持人在发起(进入)会议时,如果已经在一个会议中,那么另外一个会议就被会限制进入。
当然,同一个用户同时出现在不同的会议中,本身也是不合理的。所以在创建会议时,指定alternative_hosts参数,把会议主持人设定为不同的用户就可以正常的开会了。不过这里又会涉及到用户的License的问题,在一个账户中,需要把用户作为License的user加入才可以。
join_url vs. start_url
在创建会议时,会返回两个url,一个是join_url,一个是start_url。绝大多数情况下使用join_url就可以,start_url主要是为了会议主持人在未登录的情况下可以就发起会议而设置的。