后台单点登录

功能介绍

单点登录可以实现在登录已有系统的状态下,免登录操作进入保利威的账号、频道、子频道后台,做直播相关设置。

适用场景

保利威后台单点登录分:账号、频道、子频道三种。
账号:进入账号后台,获取最高的管理员权限,管理所有频道、子频道,适合机构管理员的登录跳转
频道:进入频道后台,仅获取当前频道的管理员权限,可管理当前频道及频道下的子频道,适合讲师的登录跳转
子频道:仅可进入助教页面,协助讲师在直播中管理聊天室、发起互动功能等,适合助教、助理的登录跳转

如何操作

1.操作流程图
sso
2.调用接口说明

操作类型 设置token接口(点击可查看详细接口调用) 单点登录后台接口
账号 https://api.polyv.net/live/v3/user/set-sso-token https://live.polyv.net/v2/sso/userLogin.do
频道 https://api.polyv.net/live/v2/channels/{channelId}/set-token https://live.polyv.net/teacher/auth-login
子频道 https://api.polyv.net/live/v2/channels/{accountId}/set-account-token https://live.polyv.net/teacher/auth-login

3.操作步骤

Step1.设置单点登录token参数

接口URL

1.根据操作类型(账号、频道、子频道)选择对应的设置token接口URL
    账号:https://api.polyv.net/live/v3/user/set-sso-token
    频道:https://api.polyv.net/live/v2/channels/{channelId}/set-token
    子频道:https://api.polyv.net/live/v2/channels/{accountId}/set-account-token
2.接口说明
    支持格式:JSON
    请求方式:GET,POST
    请求数限制:TRUE
    支持https协议
    接口URL中的{channelId}为 频道ID
    token 参数请勿过于简单,建议使用16位随机字符串

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
token string 唯一的字符串
sign string 签名,为32位大写的MD5值

响应成功JSON示例

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": "success"
}

接口返回字段说明

参数名 说明
code 请求状态响应码
status 请求状态
message 错误信息
data 成功时候返回,success

Step2.成功设置token接口后,调用单点登录后台接口进行授权登录操作。

接口URL

1.根据操作类型(账号、频道、子频道)选择对应的单点登录后台接口URL
    账号:https://live.polyv.net/v2/sso/userLogin.do
    频道:https://live.polyv.net/teacher/auth-login
    子频道:https://live.polyv.net/teacher/auth-login
2.接口说明
    支持格式:JSON
    请求方式:GET
    请求数限制:TRUE
    支持https协议
    接口用于获取token后授权登录直播后台

操作类型为账号的请求参数

参数名 必选 类型 说明
userId string 账号id
token string 通过账号token设置的token串,10秒内且一次验证有效
redirect string 完成授权后重定向地址,使用url编码

操作类型为频道/子频道的请求参数

参数名 必选 类型 说明
channelId string 频道号或子频道号
token string 通过频道token子频道token设置的token串,10秒内且一次验证有效
redirect string 完成授权后重定向地址,使用url编码,如导播台统计分析

响应成功示例

1.账号:
有填写了redirect,并且验证成功则会重定向到相应的网页,否则返回错误
2.频道/子频道
有填写了redirect,并且验证成功则会重定向到相应的网页,否则默认重定向到相应的后台,验证失败则会重定向到频道登录页

请求示例

1.账号:
https://live.polyv.net/v2/sso/userLogin.do?userId=zxcvbnmqwe&token=testtoken&redirect=http%3a%2f%2flive.polyv.net%2f%23%2fchannel
2.频道/子频道
https://live.polyv.net/teacher/auth-login?channelId=195770&token=testtoken&redirect=http%3a%2f%2flive.polyv.net%2fnewGuide.html%3fchannel%3d195770

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

获取一次性的观看页地址

接口URL

https://api.polyv.net/live/v3/channel/watch/get-token-watch-url

接口说明

1、获取一次性的观看页观看地址URL
2、接口支持https协议

请求方式

GET POST

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
channelId int 频道ID
sign string 签名,为32位大写的MD5值
timestamp long 当前13位毫秒级时间戳,3分钟内有效

响应成功JSON示例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": "https://live1.polyv.cn/watch/450698?token=8b01210642bd4c0589cf6c2a09506399"
}

响应失败JSON示例:

未输入appId

{
    "code": 400,
    "status": "error",
    "message": "appId is required.",
    "data": ""
}

appId不正确

{
    "code": 400,
    "status": "error",
    "message": "application not found.",
    "data": ""
}

时间戳错误

{
    "code": 400,
    "status": "error",
    "message": "invalid timestamp.",
    "data": ""
}

签名错误

{
    "code": 403,
    "status": "error",
    "message": "invalid signature.",
    "data": ""
}

字段说明

参数名 说明
code 请求状态响应码
status 请求状态
message 错误信息
data 一次性的观看地址url ,生成的url的有效期为一个小时,一旦使用过就失效了。

php请求示例

<?php
//引用config.php
include 'config.php';

$params = array(
  'appId' => $appId,
  'timestamp' => $timestamp,
  'channelId' => $channelId
);

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法
$params['sign'] = $sign;

$url = "https://api.polyv.net/live/v3/channel/watch/get-token-watch-url?".http_build_query($params);

$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, 1);
$res = curl_exec($curl);
curl_close($curl);

echo $res;
?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

批量创建答题卡

接口URL

https://api.polyv.net/live/v3/channel/question/batch-save

接口说明

批量创建答题卡,创建一套直播频道答题卡模板与相对应的模板题目。

支持格式

JSON

请求方式

POST

请求参数

参数名 必选 类型及范围 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp long 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,为32位大写的MD5值
channelId string 频道号
name string 模板名称,不传不会生成答题卡模板数据
status string 模板状态unused:上传成功,used:使用中
questions[].identifyId string 记录题目ID,接口成功后会返回这个id对应系统的questionId
questions[].name string 题目名称
questions[].type string 题目类型R:单选,C:多选,S:评分
questions[].option1 string 选项1,option不能同时为空,有数据必须连续
questions[].option2 string 选项2,option不能同时为空,有数据必须连续
questions[].option3 string 选项3,option不能同时为空,有数据必须连续
questions[].option4 string 选项4,option不能同时为空,有数据必须连续
questions[].option5 string 选项5,option不能同时为空,有数据必须连续
questions[].answer string 当questions[].type 是评分时,非必填,单选,多选答案,比如多选ABC,单选A(单选不能有两个)
questions[].tips1 string 当questions[].type是评分,传入option1相应的值 ,也就是分值提示
questions[].tips2 string 当questions[].type是评分,传入option2相应的值 ,也就是分值提示
questions[].tips3 string 当questions[].type是评分,传入option3相应的值 ,也就是分值提示
questions[].tips4 string 当questions[].type是评分,传入option4相应的值 ,也就是分值提示
questions[].tips5 string 当questions[].type是评分,传入option5相应的值 ,也就是分值提示

注:这里的channelId,appId,timestamp,sign必须通过url传参,json数据通过请求体传参,如:
https://api.polyv.net/live/v3/channel/questionnaire/add-edit-questionnaire?channelId={{channelId}}&appId={{appId}}×tamp={{timestamp}}&sign={{sign}}

body入参示例

{
    "name":"nana",
    "questions": [
        {
            "identifyId": "123",
            "name":"第一题",
            "type":"R",
            "option1": "哈哈",
            "option2": "测试",
            "answer":"A"
        }
    ]
}

返回结果

// 成功结果
{
    "code": 200,
    "status": "success",
    "message": "success",
    "data": {
        "templateId": "xxxxxx",
        "questionKey": {
            "123": "xxxxx",
            "identifyId2": "questionId2"
        }
    }
}

失败返回json

// 未输入appId
{
    "code": 400,
    "status": "error",
    "message": "appId is required.",
    "data": ""
}
// appId不正确
{
    "code": 400,
    "status": "error",
    "message": "application not found.",
    "data": ""
}
//时间戳错误
{
    "code": 400,
    "status": "error",
    "message": "invalid timestamp.",
    "data": ""
}
// 签名错误
{
    "code": 403,
    "status": "error",
    "message": "invalid signature.",
    "data": ""
}
// 频道号格式错误
{
  "code": 400,
  "status": "error",
  "message": "param is not digit: dsadasd",
  "data": ""
}

响应参数说明

字段 说明 类型
code 响应码 int32
status 响应状态:success/error/fail string
message 错误信息说明 string
data 响应数据 object
data.templateId 模板templateId string
data.questionKey 模板题目,参数中的identifyId对应系统中的提问主键questionId,是一个对象,key-value形式,如果不需要对应题目与系统题目questionId,可以忽略该参数 Object

响应错误说明

错误代码 message 说明
400 appId is required. 未输入appId
400 application not found. appId不正确
400 invalid timestamp. 时间戳错误
400 invalid signature. 签名错误
400 param is not digit: dsadasd 频道号格式错误
400 type illegal. type T. 题目类型错误
400 xxxx name is blank identifyId的题目标题为空
400 xxxx answer is blank identifyId的题目答案为空
400 xxxx options are all blank identifyId的所有选项为空
400 xxxx options are discontinuous identifyId选项不连续
400 xxxx answer's option is empty identifyId题目对应答案为空
400 xxxx illegal answer identifyId非法答案

PHP请求示例

<?php

$appId="xxxxxxxxxxx";
$timestamp=time()*1000;
$url = 'https://api.polyv.net/live/v3/channel/question/batch-save?';
$header = array('application/json');
$data = array(
    'appId' => $appId,
    'timestamp' => $timestamp,
    'channelId' => 206204
);
$data["sign"]=$hash;
$json = '{
    "name":"nana",
    "questions": [
        {
            "identifyId": "123",
            "name":"第一题",
            "type":"R",
            "option1": "哈哈",
            "option2": "测试",
            "answer":"A"
        }
    ]
}'
// 请求接口
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url.http_build_query($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$sResult = curl_exec($ch);
if($sError=curl_error($ch)){
    die($sError);
}
curl_close($ch);
//打印获得的数据
print_r($sResult);
?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

上传点播弹幕文件接口

接口URL

https://api.polyv.net/v2/danmu/{userId}/upload

接口说明

上传点播弹幕文件接口。

支持格式

form-data

请求方式

POST

请求参数

参数名 必选 类型及范围 说明
userId true string 用户id,路径参数
ptime true string 当前13位毫秒级时间戳,3分钟内有效
sign true string 签名,40位大写的sha1值
vid true string 点播视频vid
file true file 字幕文件,支持utf-8编码

返回结果

{
    "code": 200,
    "status": "success",
    "message": "success",
    "data": null
}

失败返回json

// 时间戳过期:
{
  "code": 400,
  "status": "error",
  "message": "ptime is too old.",
  "data": ""
}
// 文件名称为空
{
    "code": 400,
    "status": "error",
    "message": "title can't be empty",
    "data": ""
}
// 文件为空
{
    "code": 400,
    "status": "error",
    "message": "file can't be empty",
    "data": ""
}
// 签名报错
{
    "code": 400,
    "status": "error",
    "message": "the sign is not right.",
    "data": ""
}

响应参数说明

字段 说明 类型 schema
code 响应码 int32
status 响应状态:success/error/fail string
message 错误信息说明 string
data 响应数据

响应错误说明

错误代码 message 说明
400 sign can not be empty. 加密串为空
400 ptime is too old. 时间戳过期
400 ptime is illegal. 时间戳参数格式不对或者超过当前时间3分钟
400 Could not find user by userId. userId不存在
400 the sign is not right. 签名不正确
400 vid doesn't exist. 视频不存在
400 Please Use UTF-8 for SRT files 文件格式或编码问题

PHP请求示例

<?php

$userId="xxxxxx";
$secretkey="xxxxxx";
$url = 'https://api.polyv.net/v2/danmu/'.$userId.'/upload';
$header = array('Content-type: multipart/form-data');
$data = array(
    "ptime" => time()*1000,
    "vid" => "xxxxxx_x",
);
ksort($data);
$str='';
foreach ($data as $k => $v) {
    $str = $str.$k.'='.$v.'&';
}
$str=substr($str,0,strlen($str)-1);
$str=$str.$secretkey;
$hash=strtoupper(sha1($str));
$data["sign"]=$hash;
$data['file']='@/home/xxxxxx/danmu.srt';
// 请求接口
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$sResult = curl_exec($ch);
if($sError=curl_error($ch)){
    die($sError);
}
curl_close($ch);
//打印获得的数据
print_r($sResult);
?>

签名规则:

将非空的请求参数按照参数名字典顺序排列,连接参数名与参数值,并在尾部加上secretkey,生成40位大写SHA1值,作为sign。 以下是示例过程:

1、请求参数为

ptime = "1492591990000"
vid = "382839019131be68715e9455f8d0971a_3"

2、将请求参数按照参数名字典顺序排列

ptime = "1492591990000"
vid = "382839019131be68715e9455f8d0971a_3"

3、连接字符串
连接参数名与参数值,并在尾部加上secretkey(secretkey的值为tIQp4ATe9Z),如下:

format=json&ptime=1492591990000&vid=382839019131be68715e9455f8d0971a_3tIQp4ATe9Z

4、生成签名sign

50BF9B165630A8047EB1D17D95A469CC51FF754E
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

获取频道文档详情信息

接口URL

https://api.polyv.net/live/v3/channel/document/get

接口说明

1、接口用于频道的文档详情信息
2、接口支持https

支持格式

JSON

请求方式

GET

请求参数

参数名 必选 类型 说明
appId string 管理员的appId
timestamp long 13位当前时间戳
sign string 签名值
channelId int 频道id
fileId string 文件ID
type string 文档新旧类型(新版:new, 旧版 :old),不传默认为new

响应成功JSON示例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": {
    "autoId": xxxx,
    "fileId": "6fcf5fa1c48bf427515a0fe47d3b3a5d330282",
    "fileName": "xxxx.ppt",
    "fileUrl": "http://doc.polyv.net/xxxx.ppt",
    "fileType": '.ppt',
    "totalPage": 1,
    "channelId": "330282",
    "status": "normal",
    "createTime": null,
    "convertType": "common",
    "type": "old",
    "previewImage": "http://doc.polyv.net/xxxx_s.jpeg",
    "previewBigImage": "http://doc.polyv.net/xxxx.jpeg",
    "images": ["http://doc.polyv.net/xxxx.jpeg"],
    "smallImages": ["http://doc.polyv.net/xxxx_s.jpeg"]
}
}

响应失败JSON示例:

未输入appId

{
    "code": 400,
    "status": "error",
    "message": "appId is required.",
    "data": ""
}

appId不正确

{
    "code": 400,
    "status": "error",
    "message": "application not found.",
    "data": ""
}

时间戳错误

{
    "code": 400,
    "status": "error",
    "message": "invalid timestamp.",
    "data": ""
}

签名错误

{
    "code": 403,
    "status": "error",
    "message": "invalid signature.",
    "data": ""
}

字段说明

参数名 说明
code 响应代码,成功为200,失败为400,签名错误为403,异常错误500
status 成功为success,失败为error
message 错误时为错误提示消息
data.channelId 频道号
data.autoId ppt自增ID
data.fileId ppt文件ID
data.fileName 文件名
data.fileType 文件类型
data.fileUrl 文件地址
data.totalPage 总页数
data.status PPT状态(‘normal’:正常,“waitUpload”:等待上传,“failUpload”:上传失败,"waitConvert":转换PPT中,"failConvert":转换PPT失败 )
data.convertType 转换类型,(普通: "common", 动画: "animate")
data.type ppt新旧类型(新版ppt:"new", 旧版ppt:"old")
data.previewImage 预览小图
data.previewBigImage 预览大图
data.images 大图列表
data.smallImages 小图列表

请求示例

<?php

//引用config.php
include 'config.php';

//接口URL上变量
$channelId = "123456";
$fileId = "xxxxxxxx";
//接口需要的参数(非sign)赋值
$params = array(
    'appId'=>$appId,
    'timestamp'=>$timestamp,
    'channelId'=>$channelId,
    'fileId'=>$fileId
  );

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法

//接口请求url
$url = "http://api.polyv.net/live/v3/channel/document/get?appId=".$appId."&sign=".$sign."&timestamp=".$timestamp."&channelId=".$channelId."&fileId=".$fileId;
//输出接口请求结果
echo file_get_contents($url);

?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

获取频道答题卡列表

接口URL

https://api.polyv.net/live/v3/channel/question/list

接口说明

1、接口用于获取频道答题卡列表
2、接口支持https

支持格式

JSON

请求方式

GET

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp long 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,为32位大写的MD5值
channelId string 频道号
startDate string 查询开始时间,格式yyyy-MM-dd(和endDate一起不传默认查最近七天数据)
endDate string 查询的结束时间,格式:yyyy-MM-dd(和startDate一起不传默认查七天数据)
page int 页号,默认为1
pageSize int 每页条数,默认为10

响应成功JSON示例:

// 成功
{
    "code": 200,
    "status": "success",
    "message": "",
    "data": {
    "pageNumber": 1,
    "totalItems": 7,
    "contents": [
      {
        "questionId": "",
        "name": "text",
        "type": "text",
        "channelId": 4,
        "userId": "text",
        "note": "text",
        "answer": "text",
        "lastModified": 9,
        "createdTime": 7,
        "option4": "text",
        "option5": "",
        "option2": "text",
        "option3": "text",
        "option1": "text",
        "times": 0
      }
    ],
    "startRow": 9,
    "firstPage": true,
    "nextPageNumber": 3,
    "prePageNumber": 2,
    "totalPages": 6,
    "lastPage": true,
    "endRow": 7,
    "limit": 10,
    "offset": 1
  }
}

响应失败JSON示例:

未输入appId

{
    "code": 400,
    "status": "error",
    "message": "appId is required.",
    "data": ""
}

appId不正确

{
    "code": 400,
    "status": "error",
    "message": "application not found.",
    "data": ""
}

时间戳错误

{
    "code": 400,
    "status": "error",
    "message": "invalid timestamp.",
    "data": ""
}

签名错误

{
    "code": 403,
    "status": "error",
    "message": "invalid signature.",
    "data": ""
}

字段说明

参数名 说明
code 响应的状态码,例如:200
status 响应状态
message 异常错误信息
data 响应结果集
data.pageNumber 页数
data.limit 每页记录数
data.totalItems 记录总数
data.firstPage 是否为第一页,值为:true/false
data.lastPage 是否为最后一页,值为:true/false
data.nextPageNumber 下一页编号
data.prePageNumber 上一页编号
data.totalPages 总页数
data.startRow 当前页第一条记录所在列表中的位置
data.endRow 当前页最后一条记录所在列表中的位置
data.contents[0].questionId 题目ID
data.contents[0].name 题目名称
data.contents[0].type 题目类型("R":单选,"C":多选,"S": 评分, "Q": 问答)
data.contents[0].channelId 频道ID
data.contents[0].userId 用户ID
data.contents[0].answer 答案(abcd...)
data.contents[0].note 答案解析
data.contents[0].times 第几场答题
data.contents[0].option1 选项1
data.contents[0].option2 选项2
data.contents[0].option3 选项3
data.contents[0].option4 选项4
data.contents[0].option5 选项5
data.contents[0].lastModified 更新时间
data.contents[0].createdTime 创建时间

php请求示例

<?php
//引用config.php
include 'config.php';
$params = array(
    'appId' => $appId,
    'timestamp' => $timestamp,
    'channelId' => 108888
);

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法
$params['sign'] = $sign;

$url = "https://api.polyv.net/live/v3/channel/question/list?".http_build_query($params);

$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_URL, $url);
$res = curl_exec($curl);
curl_close($curl);

echo $res;
?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

聊天室抢答功能说明

聊天室抢答功能说明

主要说明聊天室抢答功能在观看端以及讲师端如何使用。

1、连接聊天室时,需要带上token和version参数。

点击获取token说明文档

聊天室连接说明:

io.connect('ws://chat.polyv.net', {
    'query': {
        version: '2.0', // version必须大于等于2.0
        token, // token通过接口获取,看上面的链接
    },
    'transports': ['websocket']
});

2、监听开始抢答事件

  • START_ANSWER_QUICKLY
参数说明
参数名称 参数说明 参数类型
EVENT 事件名称,值为START_ANSWER_QUICKLY string
limitTime 抢答时间 number
sessionId 该场直播的sessionId string
timestamp 发起抢答时的时间戳 number
quicklyId 抢答的id string
overTime 抢答剩余时间 number
示例
socket.on('message', function(jsonData, callback) {
    const data = JSON.parse(jsonData);
    if(data.EVENT === 'START_ANSWER_QUICKLY') {
        // 执行相关操作
    }
})

3、学员提交抢答信息

  • SUBMIT_ANSWER_QUICKLY
参数说明
参数名称 参数说明 参数类型 是否必填
EVENT 事件名称,写死SUBMIT_ANSWER_QUICKLY string
quicklyId 抢答id string
useTime 抢答使用的时间 number
organization 学员所属机构 string
示例
// 需要发送的参数,为json字符串
const sendData = JSON.stringify({
    EVENT: 'SUBMIT_ANSWER_QUICKLY',
    quicklyId: '436499f0-17d9-11ea-9ba9-6f8eb568fbcb',
    useTime: 2
});
socket.emit('message', sendData , function(d) {
    const { code, message } = JSON.parse(d); // code 为 请求结果状态
    if (code === 200) {
        console.log('抢答成功');
    } else {
        console.log(`抢答失败,失败原因:${message}`)
    }
});

4、获取抢答状态

开始抢答,各个端收到socket消息的时间可能不同,比如pc端比移动端先收到开始抢答的socket,这时时间就会产生偏差。所以需要不断从服务器获取抢答的剩余时间,保证时间准确性。
* 建议1秒获取一次。

  • GET_ANSWER_QUICKLY_STATUS
参数说明
参数名称 参数说明 参数类型
EVENT 事件名称,写死GET_ANSWER_QUICKLY_STATUS string
示例
    socket.emit(
        'message',
        JSON.stringify({EVENT:'GET_ANSWER_QUICKLY_STATUS'}),
        function(d) {
            const { code, data, message } = JSON.parse(d);
            if (code === 200) {
                const { overTime, answerNum } = data; // overTime为抢答剩余时间,answerNum为已抢答人数
            } else {
                console.log(`获取抢答状态失败,失败原因:${message}`)
            }
        }
    )

5、讲师端发送开始抢答事件

讲师在推流端点击抢答图标,弹出窗口,输入时间,点击开始抢答。

  • START_ANSWER_QUICKLY
参数说明
参数名称 参数说明 参数类型
EVENT 事件名称,写死START_ANSWER_QUICKLY string
limitTime 抢答的时间 number
sessionId 该场直播的sessionId(如果只是测试,可以传入随机字符串) string
示例
socket.emit('message', JSON.stringify({
    EVENT: 'START_ANSWER_QUICKLY',
    limitTime: 30,
    sessionId: 'test'
}), function(d) {
    const { code, message } = JSON.parse(d);
    if (code === 200) {
        console.log('发起抢答成功');
    } else {
        console.log(`发起抢答失败,失败原因:${message}`);
    }
});

6、结束抢答

讲师发起抢答后,页面有个停止抢答按钮,讲师可以主动提前停止抢答

  • STOP_ANSWER_QUICKLY
参数说明
参数名称 参数说明 参数类型
EVENT 事件名称,写死STOP_ANSWER_QUICKLY string
quicklyId 抢答id string
示例
socket.emit('message', JSON.stringify({
    EVENT: 'STOP_ANSWER_QUICKLY',
    quicklyId: 'test',
}), function(d) {
    const { code, message } = JSON.parse(d);
    if (code === 200) {
        console.log('抢答停止成功成功');
    } else {
        console.log(`抢答结束失败,失败原因:${message}`);
    }
});
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

集团账号:分配直播并发数接口

接口URL

https://api.polyv.net/v2/group/live/set-concurrences

接口说明

1、接口用于分配直播的并发数
2、接口支持https

支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在集团账号系统登记的appId
timestamp long 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,为32位大写的MD5值
email string 分配给的账号邮箱地址
type string 分配的类型,add:新增,recover:回收 默认为add新增
concurrences int 分配的并发数,大于0的整数

响应成功JSON示例:

{
  "code": 200, 
  "status": "success", 
  "message": "success", 
  "data": "success"
}

响应失败JSON示例:

未输入appId

{
    "code": 400,
    "status": "error",
    "message": "appId is required.",
    "data": ""
}

集团账号不存在

{
    "code": 400,
    "status": "error",
    "message": "account not found.",
    "data": ""
}

集团账号已被封禁

{
    "code": 400,
    "status": "error",
    "message": "account is forbidden.",
    "data": ""
}

分配的并发数超过账号的可使用的并发数

{
    "code": 400,
    "status": "error",
    "message": "已超过账号可使用上限",
    "data": ""
}

时间戳错误

{
    "code": 400,
    "status": "error",
    "message": "invalid timestamp.",
    "data": ""
}

签名错误

{
    "code": 403,
    "status": "error",
    "message": "invalid signature.",
    "data": ""
}

字段说明

参数名 说明
code 响应代码,成功为200,失败为400,签名错误为401,异常错误500
status 成功为success,失败为error
message 错误时为错误提示消息
data success

php请求示例

<?php
//引用config-group.php
include 'config-group.php';

$params = array(
  'appId' => $appId,
  'email' => $email,
  'type' => $type,
  'durations' => $durations,
  'timestamp' => $timestamp
);

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法
$params['sign'] = $sign;

$url = "https://api.polyv.net/v2/group/live/set-concurrences?".http_build_query($params);

$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, 0);
$res = curl_exec($curl);
curl_close($curl);

echo $res;
?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

获取用户自定义微信分享接口设置

接口URL

https://api.polyv.net/live/v3/user/get-weixin-share-api

接口说明

设置用户自定义的微信分享接口地址

支持格式

JSON

请求方式

GET

请求参数

参数名 必选 类型及范围 说明
sign true string 签名
appId true string 开发者账号下的appId
timestamp true string 13位当前时间的时间戳

返回错误结果JSON示例

未输入appId

{
    "code": 400,
    "status": "error",
    "message": "appId is required.",
    "data": ""
}

appId不正确

{
    "code": 400,
    "status": "error",
    "message": "application not found.",
    "data": ""
}

时间戳错误

{
    "code": 400,
    "status": "error",
    "message": "invalid timestamp.",
    "data": ""
}

签名错误

{
    "code": 403,
    "status": "error",
    "message": "invalid signature.",
    "data": ""
}

返回正确结果JSON示例

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": "http://www.polyv.net/weixinshare/url"
}

返回结果data表示成功修改的数量.

字段说明

字段 类型及范围 说明
code int32 返回码
status string 返回状态
message string 返回信息
data string 返回设置的微信分享调用接口地址

PHP请求示例

<?php

//引用config.php
include 'config.php';

//接口需要的参数(非sign)赋值
$appId = "XXXXXXXX";
$timestamp = "123123123123";
$params = array(
        'appId'=>$appId,
        'timestamp'=>$timestamp
    );

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法
$params['sign'] = $sign;

$url = "https://api.polyv.net/live/v3/user/get-weixin-share-api?".http_build_query($params);

$ch = curl_init() or die ( curl_error() );
curl_setopt( $ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 360);
$response = curl_exec ( $ch );
curl_close ( $ch );
echo $response;
?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

设置用户微信分享自定义URL接口

接口URL

https://api.polyv.net/live/v3/user/set-weixin-share-api

接口说明

设置用户自定义的微信分享接口地址

支持格式

JSON

请求方式

POST

请求参数

参数名 必选 类型及范围 说明
sign true string 签名
appId true string 开发者账号下的appId
timestamp true string 13位当前时间的时间戳
url true string 接口地址URL

返回错误结果JSON示例

未输入appId

{
    "code": 400,
    "status": "error",
    "message": "appId is required.",
    "data": ""
}

appId不正确

{
    "code": 400,
    "status": "error",
    "message": "application not found.",
    "data": ""
}

时间戳错误

{
    "code": 400,
    "status": "error",
    "message": "invalid timestamp.",
    "data": ""
}

签名错误

{
    "code": 403,
    "status": "error",
    "message": "invalid signature.",
    "data": ""
}

返回正确结果JSON示例

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": "success"
}

返回结果data表示成功修改的数量.

字段说明

字段 类型及范围 说明
code int32 返回码
status string 返回状态
message string 返回信息
data string 操作结果

PHP请求示例

<?php

//引用config.php
include 'config.php';

//接口需要的参数(非sign)赋值
$appId = "XXXXXXXX";
$timestamp = "123123123123";
$url = "http://www.polyv.ne/xxx";
$params = array(
        'appId'=>$appId,
        'url'=>$url,
        'timestamp'=>$timestamp
    );

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法
$params['sign'] = $sign;

$url = "https://api.polyv.net/live/v3/user/set-weixin-share-api?".http_build_query($params);

$ch = curl_init() or die ( curl_error() );
curl_setopt( $ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 360);
$response = curl_exec ( $ch );
curl_close ( $ch );
echo $response;
?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...