| 参数 | 类型 | 说明 | 是否必填 | 备注 |
|---|---|---|---|---|
| app_key | String | 微吼直播开放平台应用 key | 是 | 点击获取 AppKey |
| signedat | String | 签名时的时间戳(精确到秒) | 是 | 当前系统时间,五分钟内有效 |
| sign | String | 本次请求签名 | 是 | 签名算法 |
| roomid | String | 微吼直播活动 ID | 是 | 创建活动接口 |
| account | String | 用户 ID | 是 | 此字段指的是第三方账号 ID,当 观看端为 SDK\嵌入页等多端混用场景 下,且多端需要维护统一的第三方观众用户或 email 时,可传递此参数。 注 1:第三方账号 ID,可通过 创建第三方用户接口 创建。 注 2:third_user_id 和 email 一起使用时,需要客户维护两者的唯一对应关系,否则会触发“邮箱已被他人使用”错误 |
| username | String | 用户昵称 | 是 | 用户昵称字段长度限制为 50 个字符 |
| videoContent | String | 播放器 Dom id | 是 | 如: #video-content |
| docContent | String | 文档区域 Dom id | 是 | 如:#doc-area |
| questionarieContainer | String | 问卷容器 Dom id | 否 | 如果需要问卷功能必填,如:#question-id |
| examConfig | Object | need:需要快问快答能力, need: true,container:快问快答 dom id,如:#examWrap | 否 | 3.6.0 及以上版本支持 |
| sign_type | Number | 验签规则切换 | 否 | 默认:0。 0: MD5 1:RSA |
| String | 用户 Email | 否 | 注:如存在需参与验签, account 备用字段,用于区分用户 | |
| plugins | Array | 微吼直播功能列表 | 否 | 如: [ 'chat', 'player', 'doc','interactTools'],3.5.1 以上版本不需要此参数 |
| x5_video_fullscreen | Boolean | 启用腾讯H 5 全屏方式 | 否 | 默认:false。 true 开启 ,false 关闭 |
| record_id | String | 回放 id | 否 | 设置房间下的回放 id 优先播放此回放 即使房间正在直播 |
| 字段名称 | 字段说明 | 备注 |
|---|---|---|
| roomid | 微吼直播 活动 ID | |
| account | 用户账号 | |
| username | 用户昵称 | |
| app_key | 微吼直播 开放平台用户应用 Key | 点击获取 AppKey |
| signedat | 签名时的时间戳(精确到秒) | 系统当前时间戳用于验签 |
| 字段名称 | 字段说明 | 备注 |
|---|---|---|
| roomid | 微吼直播 活动 ID | |
| account | 用户账号 | |
| username | 用户昵称 | |
| app_key | 微吼直播 开放平台用户应用 Key | 点击获取 AppKey |
| signedat | 签名时的时间戳(精确到秒) | 系统当前时间戳用于验签 |
require './vendor/autoload.php';
use phpseclib\Crypt\RSA;
/**
* base64url_encode
* @param $data
* @return string
*/
function base64url_encode($data) {
return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
}
/**
* base64url_decode
* @param $data
* @return bool|string
*/
function base64url_decode($data) {
return base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT));
}
//应用信息
$app_key = 'user_app_key';
$rsa_private_key = '';
//参与签名数据
$params = [
// === 公共参数 ===
"app_key" => $app_key,
"signed_at" => '1657892327',
// === 业务接口参数 ===
"roomid" => "123456",
"account" => "123456",
"username"=> "zhangsan",
];
// 按参数名升序排列
ksort($params);
// 将键值组合
array_walk($params, function (&$value, $key) {
$value = $key . $value;
});
//加密
$rsa = new RSA();
$rsa->loadKey($rsa_private_key);
$rsa->setSignatureMode(RSA::ENCRYPTION_PKCS1);
$rsa->setHash('md5');
$signString = md5(implode('', $params));
$sign = base64url_encode($rsa->sign($signString));
| 浏览器 | 版本 | 备注 |
|---|---|---|
| Chrome | 74 版本及以上 | |
| edge | 84 版本及以上 | |
| safari | 12 版本及以上 | |
| FireFox | 79 版本及以上 | |
| 微信内置浏览器 | 全版本 | |
| 360 急速浏览器 | 全版本 | 请使用 Chromium 内核 |
| 微信小程序 | 不支持 | 微信小程序由于域名校验严格,推荐使用标品 H5 页面嵌入开发 |
| 其他手机浏览器 | 绝大部分支持 | 如遇问题请联系商务或邮件我们 |