设置点赞数和观看热度接口

接口URL

http://api.polyv.net/live/v2/channels/{channelId}/update-likes

接口说明

1、设置频道的点赞数和观看热度
2、接口支持https
3、接口URL中的{channelId}为 频道ID

支持格式

JSON

请求方式

GET  POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,32位大写MD5值
likes 请查看下方注意点 int 点赞数
viewers 请查看下方注意点 int 观看热度

注意:

likes跟viewers可以同时传,也可以只传其中一个,不能都不传

响应成功JSON示例:

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

响应失败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": ""
}

未提交viewers或likes

{
    "code": 400,
    "status": "error",
    "message": "likes and viewers is required.",
    "data": ""
}

字段说明

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

php请求示例

<?php

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

//接口需要的参数(非sign)赋值
$channelId = "127075";
$likes = 1001;
$viewers = 1002;

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

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

//接口请求url
$url = "http://api.polyv.net/live/v2/channels/$channelId/update-likes?appId=$appId&timestamp=$timestamp&sign=$sign&likes=$likes&viewers=$viewers";

//输出接口请求结果
echo file_get_contents($url);

?>

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

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

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

获取账号下所有/某个频道号收入详情

接口URL

http://api.polyv.net/live/v2/user/{userId}/get-income-detail

接口说明

1、接口URL中的{userId}为 直播账号ID
2、根据是否提交channelId来获取全部频道/某个频道的收入详情数据
3、接口支持https

支持格式

JSON

请求方式

GET、POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,为32位大写的MD5值
startDate string 查询的开始日期 格式为yyyy-MM-dd
endDate string 查询的结束日期 格式为yyyy-MM-dd
channelId int 要查询的频道ID,不提交默认为查询所有频道
page int 查询第几页记录,不提交默认为1
pageSize int 每页显示的记录数,不提交默认为12

响应成功JSON示例:

{
    "code": 200, 
    "status": "success", 
    "message": "", 
    "data": {
        "pageNumber": 1, 
        "totalItems": 2, 
        "contents": [
            {
                "amount": 0.01, 
                "channelId": 108888, 
                "payType": "good", 
                "payTypeName": "道具打赏", 
                "viewerName": "广州观众/17914", 
                "payTime": 1495441670000, 
                "outTradeNo": "4008262001201705222058849969"
            }, 
            {
                "amount": 0.01, 
                "channelId": 108888, 
                "payType": "good", 
                "payTypeName": "道具打赏", 
                "viewerName": "珠海观众/18040", 
                "payTime": 1490681792000, 
                "outTradeNo": "4008262001201703284937190753"
            }
        ], 
        "offset": 0, 
        "limit": 2, 
        "endRow": 2, 
        "firstPage": true, 
        "totalPages": 1, 
        "prePageNumber": 1, 
        "lastPage": true, 
        "startRow": 1, 
        "nextPageNumber": 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": 400,
    "status": "error",
    "message": "日期格式要求为yyyy-MM-dd.",
    "data": ""
}

频道号不属于当前账号

{
    "code": 400,
    "status": "error",
    "message": "channelId is mismatching.",
    "data": ""
}

字段说明

参数名 说明
code 请求状态响应码
status 请求状态
message 错误信息
pageNumber 当前页
totalItems 记录的总数
amount 金额
payType 收入类型:good、cash、pay
payTypeName 收入类型的名称:道具打赏、现金打赏、付费观看
viewerName 付费观众昵称
payTime 付费时间
outTradeNo 保利威视系统内部订单号
firstPage 是否为第一页,值为:true/false
lastPage 是否为最后一页,值为:true/false
nextPageNumber 下一页编号
prePageNumber 上一页编号
totalPages 总页数
startRow 当前页第一条记录在总记录中的位置
endRow 当前页最后一个记录在总记录中的位置
limit 当前页纪录数
offset 当前页第一条记录在总记录中的位置

php请求示例

<?php

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

//接口需要的参数(非sign)赋值
$userId = "XXXXXXXX";
$startDate = "2017-09-11";
$endDate = "2018-03-08";
$channelId = 127075;
$page = 1;
$pageSize = 15;

$params = array(
    'appId'=>$appId,
    'startDate'=>$startDate,
    'endDate'=>$endDate,
    'channelId'=>$channelId,
    'page'=>$page,
    'pageSize'=>$pageSize,
    'timestamp'=>$timestamp
  );

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

//接口请求url
$url = "http://api.polyv.net/live/v2/user/".$userId."/get-income-detail?appId=".$appId."&timestamp=".$timestamp."&sign=".$sign."&endDate=".$endDate."&startDate=".$startDate."&channelId=".$channelId."&page=".$page."&pageSize=".$pageSize;
//输出接口请求结果
echo file_get_contents($url);

?>

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

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

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

获取频道直播截图(新)

接口URL

http://api.polyv.net/live/v2/stream/{channelId}/capture

接口说明

1、截图功能,获取当前频道或子频道正在直播的截图(截图五分钟更新一次)
2、接口URL中的{channelId}为 频道ID
3、接口支持https

支持格式

JSON

请求方式

GET  POST

请求数限制

TRUE

请求参数

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

响应成功JSON示例:

{
    "code": 200, 
    "status": "success", 
    "message": "", 
    "data":"//livestatic.videocc.net/uploaded/images/2018/01/ex96has7bf.jpg"
}

响应失败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": "account not exists.",
    "data": ""
}

频道不存在

{
    "code": 400,
    "status": "error",
    "message": "channel not exists.",
    "data": ""
}

子频道未直播

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

频道未直播

{
    "code": 400,
    "status": "error",
    "message": "channel is not live.",
    "data": ""
}

获取图片失败

{
    "code": 400,
    "status": "error",
    "message": "get capture image failure.",
    "data": ""
}

字段说明

参数名 说明
code 请求状态响应码
status 请求状态
message 错误信息
data 请求成功时截图地址,请求错误时为空

php请求示例

<?php

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

//接口需要的参数(非sign)赋值
$channelId = "127075";

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

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

//接口请求url

$url = "http://api.polyv.net/live/v2/stream/".$channelId."/capture?appId=".$appId."&timestamp=".$timestamp."&sign=".$sign;

//输出接口请求结果
echo file_get_contents($url);

?>

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

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

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

点赞功能接口

接口URL

http://api.polyv.net/live/v2/channels/{channelId}/like

接口说明

1、用于实现用户自开发观看页点赞效果,通过调用接口可以进行点赞,默认每次请求都是一次点赞
2、接口内部进行了判断,每个观众的点赞间隔1s的限制,根据提交的观众ID来区分
3、如果有需求支持同时点多个赞,可提交非必填参数times,times最大不能超过30。*如果提交次数为n,则需n-1秒才能继续点赞
4、接口支持https
5、接口URL中的{channelId}为 频道ID

支持格式

JSON

请求方式

GET  POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,32位大写MD5值
viewerId string 点赞观众的ID
times int 点赞的数目,不能超过30,提交后在times-1秒后才能再点赞

响应成功JSON示例:

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

响应失败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": ""
}

未提交viewerID

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

点赞间隔小于1s

{
    "code": 400,
    "status": "error",
    "message": "您的操作过快,请稍后再试",
    "data": ""
}

点赞次数times大于30

{
    "code": 400,
    "status": "error",
    "message": "设置的次数过多,请稍后再试",
    "data": ""
}

字段说明

参数名 说明
code 请求状态响应码
status 请求状态
message 错误信息
data 请求成功时为点赞数,请求错误时为空

php请求示例

<?php

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

//接口需要的参数(非sign)赋值
$channelId = "127075";
$times = 16;
$viewerId = '123123';

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

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

//接口请求url
$url = "http://api.polyv.net/live/v2/channels/$channelId/like?appId=$appId&timestamp=$timestamp&sign=$sign&viewerId=$viewerId&times=$times";

//输出接口请求结果
echo file_get_contents($url);

?>

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

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

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

查询多个频道汇总的统计数据

接口URL

http://api.polyv.net/live/v2/statistics/{userId}/channel_summary

接口说明

1、根据是否提交channelIds来获取全部频道/某个频道的播放数据
2、接口URL中的{userId}为直播账号ID
3、接口支持https

支持格式

JSON

请求方式

GET

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,为32位大写的MD5值
startDate string 查询的开始日期 格式为yyyy-MM-dd
endDate string 查询的结束日期 格式为yyyy-MM-dd
channelIds string 要查询的频道号,不提交默认为查询所有频道,多个频道号以英文逗号“,”分开,如:105420,104400

响应成功JSON示例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": [
        {
            "userId": null,
            "channelId": 101385,
            "name": "测试频道号12",
            "pcPlayDuration": 3738,
            "pcFlowSize": 14585121564,
            "pcVideoView": 944,
            "pcUniqueViewer": 138,
            "mobilePlayDuration": 399,
            "mobileFlowSize": 7937281,
            "mobileVideoView": 195,
            "mobileUniqueViewer": 71
        },
        {
            "userId": null,
            "channelId": 103669,
            "name": "直播回看1",
            "pcPlayDuration": 2943,
            "pcFlowSize": 3069092519,
            "pcVideoView": 1009,
            "pcUniqueViewer": 101,
            "mobilePlayDuration": 305,
            "mobileFlowSize": 0,
            "mobileVideoView": 104,
            "mobileUniqueViewer": 63
        }
    ]
}

响应失败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": "日期格式要求为yyyy-MM-dd.",
    "data": ""
}

channelIds格式错误

{
    "code": 400,
    "status": "error",
    "message": "channelIds is wrong.",
    "data": ""
}

channelds的频道号不属于当前账号

{
    "code": 400,
    "status": "error",
    "message": "channelIds is mismatching.",
    "data": ""
}

字段说明

参数名 说明
code 请求状态响应码
status 请求状态
message 错误信息
channelId 频道Id
name 频道名称
pcPlayDuration pc端播放时长,单位:分钟
pcFlowSize pc端播放流量,单位为Byte
pcVideoView pc视频播放量
pcUniqueViewer pc端唯一观众数
mobilePlayDuration 移动端播放时长,单位:分钟
mobileFlowSize 移动端播放流量,单位为Byte
mobileVideoView 移动端播放量
mobileUniqueViewer 移动端唯一观众数

php请求示例

<?php

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

//接口需要的参数(非sign)赋值
$userId = "XXXXXXXX";
$startDate = "2017-09-11";
$endDate = "2018-03-08";
$channelIds = "127075,127074,127071";

$params = array(
    'appId'=>$appId,
    'startDate'=>$startDate,
    'endDate'=>$endDate,
    'channelIds'=>$channelIds,
    'timestamp'=>$timestamp
  );

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

//接口请求url
$url = "http://api.polyv.net/live/v2/statistics/".$userId."/channel_summary?appId=".$appId."&timestamp=".$timestamp."&sign=".$sign."&endDate=".$endDate."&startDate=".$startDate."&channelIds=".$channelIds;
//输出接口请求结果
echo file_get_contents($url);

?>

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

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

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

设置授权观看类型

接口URL

http://api.polyv.net/live/v2/channelSetting/{channelId}/set-auth-type

接口说明

1、通过接口可以设置频道的观看条件
2、接口支持https
3、接口URL中的{channelId}为 频道ID

注意:目前仅可通过此接口设置为无条件观看

支持格式

JSON

请求方式

GET,POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
authType 目前固定取值为none 观看条件类型
sign string 签名,32位大写MD5值

响应成功JSON示例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": "修改成功"
}

响应失败JSON示例:

未输入appId

{
    "code": 400,
    "status": "error",
    "message": "appId not found.",
    "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": "channel not found.",
    "data": ""
}

authType值错误

{
    "code": 400,
    "status": "error",
    "message": "authType is error",
    "data": ""
}

其他情况

{
    "code": 400,
    "status": "error",
    "message": "修改失败",
    "data": ""
}

字段说明

参数名 说明
code 请求结果代码,成功为200
status 请求结果,成功时为"success"错误时为"error"
message 错误信息,请求成功时为空,错误时错误信息

php请求示例

<?php

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

//接口需要的参数(非sign)赋值
$channelId = "127075";
$authType = "none";

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

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

//接口请求url
$url = "http://api.polyv.net/live/v2/channelSetting/$channelId/set-auth-type?appId=$appId&timestamp=$timestamp&sign=$sign&authType=$authType";

//输出接口请求结果
echo file_get_contents($url);

?>

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

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

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

恢复直播频道推流

接口URL

http://api.polyv.net/live/v2/stream/{channelId}/resume

接口说明

1、作用:恢复频道号推流
2、接口支持https协议
3、接口URL中的{channelId}为 频道ID

支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

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

响应成功JSON示例:

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

响应异常JSON示例:

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

字段说明

参数名 类型 说明
code int http code值
status string 状态值
message string 提示的信息
data string 相应的结果

php请求示例

<?php
//接口需要的参数(非sign)赋值
$userId = "XXXXXXXX";
$channelId = "127075";

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

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

$url = "http://api.polyv.net/live/v2/stream/$channelId/resume?appId=$appId&timestamp=$timestamp&userId=$userId&sign=$sign";

$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...

POLYV URL观看页授权访问说明

POLYV URL观看页授权访问说明

使用场景:

提供POLYV直播用户,能够与网站集成,直接用URL访问,让用户无需设置昵称以及再次进行验证,可直接加入直播。

前提条件:

POLYV直播后台观看条件,设置为无限制或者验证码观看。

描述

访问方式:

采用https访问,提供Get方式。

访问URL:

https://live.polyv.cn/watch/{channelId}?name=xxxx&password=xxxx

参数说明:

1.name (自定义昵称)
用户昵称,作为登录后聊天昵称使用,必填,中文需URL编码。

2.password(后台观看条件为验证码时生效)
校验字符串。
后台设置为无限制时,忽略该参数。
后台设置为验证码观看时,若不传入该参数,则跳转到用户引导页。

注: 使用URL访问时不经过微信授权

演示示例:

1.观看条件为无限制时
访问URL:
https://live.polyv.cn/watch/134207?name=POLYV

2.观看条件为验证码时
https://live.polyv.cn/watch/134206?name=POLYV&password=123456

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

创建直播频道

点击这里查看旧版

接口URL

http://api.polyv.net/live/v2/channels/

接口说明

1、作用:创建直播频道
2、接口支持https协议

支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前时间的秒级时间戳(13位)
sign string 签名,为32位大写的MD5值
userId string 直播账号ID
name string 频道名称
channelPasswd string 频道密码,长度不能超过16位
courseId string 课程号
autoPlay int 是否自动播放,0/1,默认1
playerColor string 播放器控制栏颜色,默认:#666666
scene string 直播场景:
alone 活动拍摄
ppt 三分屏
topclass 大班课
categoryId int 新建频道的所属分类,如果不提交,则为默认分类(分类ID可通过“获取直播分类”接口得到)
maxViewer int 频道的最大在线人数观看限制的人数

响应成功JSON示例:

{
"code": 200,
"status": "success",
"message": "",
"data":{
"channelId": 100348,
 "userId": "e668hzrydq",
 "name": "myLive3",
 "description": "",
 "url": "rtmp://push2.videocc.net/recordf/",
 "stream": "e668hzrydq20151119102446328",
 "logoImage": "",
 "logoOpacity": 1,
 "logoPosition": "tr",
 "logoHref": "",
 "coverImage": "",
 "coverHref": "",
 "waitImage": "",
 "waitHref": "",
 "cutoffImage": "",
 "cutoffHref": "",
 "advertType": "NONE",
 "advertDuration": 0,
 "advertWidth": 0,
 "advertHeight": 0,
 "advertImage": "",
 "advertHref": "",
 "advertFlvVid": "",
 "advertFlvUrl": "",
 "playerColor": "#00ff0f",
 "autoPlay": true,
 "warmUpFlv": "",
 "passwdRestrict": false,
 "passwdEncrypted": "",
 "isOnlyAudio": "N",
 "isLowLatency": "N",
 "m3u8Url": "http://push2.videocc.net/record/e668hzrydq20151119102446328/playlist.m3u8",
 "m3u8Url1": "",
 "m3u8Url2": "",
 "m3u8Url3": "",
 "currentTimeMillis": 1447981498946
}
}

响应失败JSON示例:

// 频道密码长度超过16或者含不可见或者非英文ASCII码
{
    "code":400,
    "status":"error",
    "message":"channel passwd illegal.",
    "data":""
}
// 签名错误
{
    "code":403,
    "status":"error",
    "message":"invalid signature.",
    "data":""
}

字段说明

参数名 类型 说明
status string 状态值
result object 响应的结果
channelId string 直播频道ID
userId string 直播用户ID
name string 直播频道名称
description string 直播频道描述
url string 直播推流地址
stream string 直播流名称
logoImage string 播放器logo
logoOpacity float Logo不透明度,1表示完全不透明
logoPosition string Logo位置
logoHref string Logo的跳转链接
coverImage string 播放前显示的封面图
coverHref string 封面图的跳转链接
waitImage string 等待推流时的显示图片
waitHref string 等待推流时显示图片的跳转链接
cutoffImage string 切断流时的显示图片
cutoffHref string 切断流时显示图片的跳转链接
advertType string 广告类型
advertDuration string 广告时长
advertWidth string 广告区域宽度
advertHeight string 广告区域高度
advertImage string 图片广告
advertHref string 广告的跳转链接
advertFlvVid string 视频广告ID
advertFlvUrl string 视频广告链接
playerColor string 播放器控制栏颜色
autoPlay boolean 自动播放
warmUpFlv string 一开始的暖场视频
passwdRestrict boolean 观看密码限制,需要输入观看密码才能播放流
passwdEncrypted string 观看密码加密后的密文
isOnlyAudio string 仅推音频流
isLowLatency string 低延迟
m3u8Url string 直播拉流(播放)m3u8地址
m3u8Url1 string 直播拉流(播放)m3u8地址1
m3u8Url2 string 直播拉流(播放)m3u8地址2
m3u8Url3 string 直播拉流(播放)m3u8地址3
currentTimeMillis timestamp 服务器返回的时间戳(毫秒)

php请求示例

<?php

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

//接口需要的参数(非sign)赋值
$userId = "XXXXXXXX";
$autoPlay = 1;
$name = "内部测试";
$playerColor = "#00ffff";
$channelPasswd = "123456";
$courseId = "123456";
$scene = "alone";

$params = array(
    'appId'=>$appId,
    'autoPlay'=>$autoPlay,
    'name'=>$name,
    'courseId'=>$courseId,
    'playerColor'=>$playerColor,
    'userId'=>$userId,
    'channelPasswd'=>$channelPasswd,
    'scene'=>$scene,
    'timestamp'=>$timestamp
  );

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


$data = array(
'appId' => $appId,
'autoPlay'=>$autoPlay,
'name'=>$name,
'courseId'=>$courseId,
'playerColor'=>$playerColor,
'timestamp'=>$timestamp,
'userId'=>$userId,
'channelPasswd'=>$channelPasswd,
'scene'=>$scene,
'sign'=>$sign
);

$url = "http://api.polyv.net/live/v2/channels";
$ch = curl_init() or die ( curl_error() );
curl_setopt( $ch, CURLOPT_URL, $url);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $data);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 360);
$response = curl_exec ( $ch );
curl_close ( $ch );

echo $response;

?>

java请求示例

public class createChanelTest {
    private RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(15000).setConnectTimeout(15000)
            .setConnectionRequestTimeout(15000).build();
    /**
     * http://live.polyv.net/secure/user/detail.htm
     * http://live.polyv.net/secure/user/app.htm
     */
    private static final String APP_USER_ID = "xxx";
    private static final String APP_ID = "xxx";
    private static final String APP_SECRET = "xxx";
    private static final String CREATE_CHANNEL_URL = "http://api.polyv.net/live/v2/channels/";

    public static void main(String[] args) {
        createChanelTest demo = new createChanelTest();
        demo.createChannelDemo();
    }

    private void createChannelDemo() {
        Map<String, String> params = new HashMap<>();
        params.put("appId", APP_ID);
        params.put("channelPasswd", "12345");
        params.put("name", "创建直播频道测试");
        params.put("scene", "ppt");
        params.put("timestamp", System.currentTimeMillis()+"");
        params.put("userId", APP_USER_ID);
        String sign = this.generateSign(params, APP_SECRET);
        params.put("sign", sign);

        String result = sendHttpPost(CREATE_CHANNEL_URL, params);
        System.out.println("create channel result=" + result);
    }

    public String sendHttpPost(String httpUrl, Map<String, String> maps) {
        HttpPost httpPost = new HttpPost(httpUrl);
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
        for (String key : maps.keySet()) {
            nameValuePairs.add(new BasicNameValuePair(key, maps.get(key)));
        }
        try {
            httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8"));
        } catch (Exception e) {
            e.printStackTrace();
        }
        return sendHttpPost(httpPost);
    }

    private String sendHttpPost(HttpPost httpPost) {
        CloseableHttpClient httpClient = null;
        CloseableHttpResponse response = null;
        HttpEntity entity = null;
        String responseContent = null;
        try {
            httpClient = HttpClients.createDefault();
            httpPost.setConfig(requestConfig);
            response = httpClient.execute(httpPost);
            entity = response.getEntity();
            responseContent = EntityUtils.toString(entity, "UTF-8");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (response != null) {
                    response.close();
                }
                if (httpClient != null) {
                    httpClient.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return responseContent;
    }

    protected String generateSign(Map<String, String> parray, String secretKey) {
        Map<String, String> params = this.paraFilter(parray);
        String concatedStr = this.concatParams(params);
        String plain = secretKey + concatedStr + secretKey;
        String encrypted = MD5Utils.getMD5String(plain);
        String upperCase = encrypted.toUpperCase();
        return upperCase;
    }

    private Map<String, String> paraFilter(Map<String, String> sArray) {
        Map<String, String> result = new HashMap<String, String>();
        if (sArray == null || sArray.size() <= 0) {
            return result;
        }
        for (String key : sArray.keySet()) {
            String value = sArray.get(key);
            if (value == null || value.equals("") || key.equalsIgnoreCase("sign")
                    || key.equalsIgnoreCase("sign_type")) {
                continue;
            }
            result.put(key, value);
        }
        return result;
    }

    private String concatParams(Map<String, String> params) {
        List<String> keys = new ArrayList<String>(params.keySet());
        Collections.sort(keys);
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < keys.size(); i++) {
            String key = keys.get(i);
            String value = params.get(key);
            sb.append(key).append(value);
        }
        return sb.toString();
    }
}

java可运行项目下载

点击这里

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

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

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

获取频道点赞数和观看热度

接口URL

http://api.polyv.net/live/v2/channels/live-likes

接口说明

1、作用:批量获取频道点赞数和观看热度接口
2、接口支持https协议

支持格式

JSON

请求方式

GET,POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
channelIds string 用逗号隔开的频道ID,如:10000,100001 最多20个
sign string 签名,32位大写MD5值

响应成功JSON示例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": [
        {
            "channelId": 101385,
            "likes": 135074,
            "viewers": 138975
        },
        {
            "channelId": 108888,
            "likes": 30,
            "viewers": 1284
        }
    ]
}

响应失败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": "channelIds is wrong.",
    "data": ""
}

字段说明

参数名 说明
code 请求状态响应码
status 请求状态
message 错误信息
data 频道相关信息
data.channelId 频道ID,整型
data.likes 频道点赞数
data.viewers 频道观看热度

php请求示例

<?php

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

//接口需要的参数(非sign)赋值
$channelIds = "127075,127071";

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

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

//接口请求url
$url = "http://api.polyv.net/live/v2/channels/live-likes?appId=$appId&timestamp=$timestamp&sign=$sign&channelIds=$channelIds";

//输出接口请求结果
echo file_get_contents($url);

?>

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

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

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