因为客户的要求,我需要在pc端对接一个可以视频语音的功能,目前国内这方面做得最好的就是声网了,所以我就研究了一下声网的对接
控制台操作声网
-
首先你要先注册一个声网的账号(https://console.agora.io/projects):
-
然后你就可以手动创建项目,我们可以看到这里的项目,目前如果前端要加入通道的话,作为后端你需要给前端一个APPID、一个频道名(频道名自己自定义)、一个token,当然你也可以先生成一个临时token给前端先测试。点击那个钥匙的图标就可以生成token;
-
所以生成token需要一个APPID、一个秘钥、一个自己定义的频道名,记住每个项目的id和秘钥,我们调用生成token的api时会用到;
-
上述是我们在控制台上手动操作的,实际开发中我们当然不可能手动在控制台控制,当然用代码来控制了,于是我们找来了api文档看看(https://docs.agora.io/cn/rtc/restfulapi/#/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86/createProject);
api调用
-
调用api我们需要先进行头部验证,头部验证我们需要客户id和客户秘钥;
-
这时我们就可以拿到客户id和客户秘钥了,接下来就是撸代码了;
代码整合
-
因为时间原因我也没多注意,将代码逻辑写在了控制层(囧),上代码。首先注意一点uid是用来鉴权的,设置为0则不鉴权,我们这里将其设置为不鉴权,用uid生成的token来鉴权;
-
我们调用resultful的api是需要头部认证的,所以我们先要获得客户id和客户秘钥然后生成头部认证authorization来判断用户是否合法,这时我们可以调用创建项目的api创建一个项目;
3. 调用成功后会返回创建成功项目的信息,我们只需要拿到项目名称:name、项目APPID:vendor_key,项目的秘钥:sign_key,然后我们再自定义一个频道名来生成token,然后我们将APPID、频道名和token返给前端,前端就能进频道了。
前后端项目的百度网盘链接(链接:https://pan.baidu.com/s/1b7yOBylCTohKEWcM3bCdqQ
邀请码:jmgv)