zoom API调用中的一些常见问题总结

30 阅读2分钟

下面是一些对接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主要是为了会议主持人在未登录的情况下可以就发起会议而设置的。