创建直播频道

点击这里查看旧版

接口URL

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

接口说明

(接口调用有频率限制,详细请查看)

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

请求方式

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 频道的最大在线人数观看限制的人数
watchLayout string 三分屏频道的观看布局,不设置会使用账号的通用设置,取值:ppt 文档为主,video 视频为主
linkMicLimit int 连麦人数; -1:使用账号的连麦人数,范围>=-1,<=账号的连麦人数,最大16人
pureRtcEnabled string 是否为无延时直播,Y 表示开启,默认为N
receive string 是否为接收转播频道,Y 表示是,不填或者填其他值为发起转播频道(注:需要开启频道转播功能该参数才生效)
receiveChannelIds string 接收转播频道号,多个频道号用半角逗号,隔开,如果receive参数值为Y时,此参数无效(注:需要开启频道转播功能该参数才生效)

响应成功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,
 "linkMicLimit": 0
 }
}

响应失败JSON示例:

频道密码长度超过16或者含不可见或者非英文ASCII码

{
    "code":400,
    "status":"error",
    "message":"channel passwd illegal.",
    "data":""
}

签名错误

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

创建的频道数量超过限制

{
 "code":400,
 "status":"error",
 "message":"cannot create more than ${账号的频道号数量限制} channels.",
 "data":""
}

receiveChannelIds参数中输入的频道号已经存在关联

{
    "code": 400,
    "status": "error",
    "message": "transmit channel has already associated, channelIds: [xxx, xxx]",
    "data": null
}

receiveChannelIds大于50个或接收转播频道数超出限制,目前一个发起频道只能关联50个接收转播频道

{
    "code": 400,
    "status": "error",
    "message": "transmit channel number limit: 50",
    "data": null
}

两个频道的直播场景不一致,不能生成转播关系

{
    "code": 400,
    "status": "error",
    "message": "two channel live scene are not equals, channelId: xxx,xxx",
    "data": null
}

不是发起转播频道,不能关联接收转播频道

{
    "code": 400,
    "status": "error",
    "message": "not transmit main channel xxx",
    "data": null
}

字段说明

参数名 类型 说明
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 服务器返回的时间戳(毫秒)
linkMicLimit int 连麦人数

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

直播播放器外嵌后台统计参数发送

播放器使用多终端代码在页面外嵌的时候,由于没有添加用户ID或用户昵称,导致后台观看日志统计中缺少用户ID或用户昵称区分学员信息。
若添加以下参数则可以解决上述问题。

一、播放器外嵌添加参数

<script src="https://player.polyv.net/livescript/liveplayer.js"></script>
<div id='player'></div>

<script type="text/javascript">

var player = polyvObject('#player').livePlayer({
    'width:'498',
    'height':'409',
    'uid':'e3wx706i3v',
    'vid':'102236',
    'param1':'1505212490999',
    'param2':'广州观众/27915'
});
</script>

选项

参数 类型 默认值 说明
width number \ string - 播放器设置宽度
height number \ string - 播放器设置高度
uid string - 直播频道用户ID
vid string - 直播频道
param1 string - 用户ID
param2 string - 用户昵称

二、直播后台统计数据

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
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...

APP STORE上架流程

1.首先你的准备一个个人开发者账号、公司开发者账号。---我这里是公司开发者账号,是什么账号不要紧,因为只要有开发者(appstore发布应用)权限就可以了。

2.准备好Xcode以及要上架的项目。(Xcode最好是Xcode7.1以上的版本)--楼楼的Xcode版本就是7.1的。

3.进入苹果开发者官网:

developer.apple.com

点击account,如下图:

1

进入登录界面,登录

2

4. 登录之后,点击Certificates, Identifiers & Profiles,为项目创建Bundle ID 、发布证书、以及权限文件(Profiles)

3

进入Certificates, Identifiers & Profiles之后,点击App IDs-->"+"添加按钮, 为项目添加Bundle ID

4

进入创建APP IDs 的界面。

App ID Description 的name 可以随意填。

5

Bundle ID 最好的格式是:(如:com.cpmpany.yayade)。

这里Bundle ID是要和Xcode项目中的Bundle Id 一致的。(最好将项目中的Bundle Id复制过来)

6

如果有推送功能,要把“Push Notifications”勾选,反正就是项目用到什么功能或服务就把相应的选项勾选。

7

之后就是 continue -->register 完成注册bundle ID的工作

5.接下来就要请求证书。

找到mac 自带的“钥匙串访问”软件,钥匙串访问-->证书助理-->从证书颁发机构请求证书

8

之后在证书助理界面填写相关内容,并将保存到本地桌面。

9

如下图桌面上生成的.certSigningRequest证书

10

6.返回到之前的开发者网站:

Sign in with your Apple ID - Apple Developer

去生成发布证书。

11

点击 “+”按钮之后,出现以下内容界面,只需要选择“App Store and Ad Hoc” 即可,然后continue。

12

、、、、、、、、、、、、、、、、、、、、、、、

如果你发现Production  下面的  “App Store and Ad Hoc”不可选!!!

原因及解决方案:因为一个用户名下只能同时有一个发布证书,你之前建立了某个证书并且没有使用的话就无法再创建了,先把它撤销或者使用后才可以继续创建新的

、、、、、、、、、、、、、、、、、、、、、、、

两次continue之后,进入以下界面(如下图)

选择 “Choose File...”按钮 ,将我们刚刚生成的.certSigningRequest证书导入。--->continue--> downLoad-->Done

13

生成发布证书之后,下载(downLoad)-->找到下载的文件双击自动安装。

之后我们可以在“钥匙串访问”软件看到我们刚刚安装好的发布证书。

14

如果看到开发者证书无效。
解决方案详见:http://my.oschina.net/sfandy/blog/617139?fromerr=OT2Ptq54

如果解决完“开发者证书无效”的问题就要将第6步操作重新做一遍,生成有效的证书。

7.生成profiles 证书

1516

点击“+”之后

17

App ID : 选择含有对应Bundle Id 的app Id。

1819

之后就是下载文件:downLoad-->找到下载的文件双击自动安装。

8. 进入ITunes Connect

20212223

创建成功之后会进入:

24

9.用Xcode打开你要上架的项目。

25

将 Release copy 改为 distribution,如下图。

2726

选择我们刚刚的distribution

28

配置(1.)TARGETS里面的General的Bundle Identifier,

29

(2.)TARGETS里面的Build Settings的Code Signing Identity

这里的Provisioning Profiles 选择我们生成的Profiles证书。

30

(3.)PROJECT里面的Build Settings的Code Signing Identity

31

10. Archive

32

archive时会遇到各种失败的情况:

(1.)
33

解决方案 :将三方框架重新导入一遍:即在终端执行:pod update 命令

34

(2.)ERROR ITMS-90096

解决方案:ios app 上传时 ERROR ITMS-90096

(3.)Invalid Code Signing Entitlements

解决方案:方案A.

解决Invalid Code Signing Entitlements 问题  -  lady-奕奕的个人空间 - 开源中国社区

方案B.Target或者是Project的Build Settings-->Code Signing Identity-->Provisioning Profiles  没有选择对应正确的Profiles证书

(4.)出现No matching provisioning profile found: Your build settings specify a provisioning profile with the UUID “7738acfb-4d92-4525-adbe-fb66e9957009”, however, no such provisioning profile was found错误提示

解决方案:

试一下这个吧。

Your build settings specify a provisioning profile with the UUID

如果archive成功了,就会出现:

3536

如果UpLoad to App Store 出现以下错误:

(1.)
37

解决方案:重新upload to App Store.

11.UpLoad to App Store成功之后,回到ITunes Connect

完善app一些具体信息

38

注意:

构建版本会在你UpLoad to App Store成功之后的半个小时内,显示构建的版本。

39

半个小时之后就会出现如下(记得刷新该页面):

4041

在构建版本处,出现上面内容之后,直接提交审核。
42

如果提交不成功出现一下错误:

43

解决方案:技术支持网站没有填写,把它填上就可以喽。

转载:
文/做一只会思考的pig(简书作者)

原文链接:http://www.jianshu.com/p/996672107eb1

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

设置频道为无直播状态

接口URL

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

接口说明

(接口调用有频率限制,详细请查看)

1、作用:设置频道状态为无直播状态
2、接口支持https协议
3、接口URL中的{channelId}为 频道ID

请求方式

POST

请求参数

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

响应参数

参数名 说明
code 响应状态码
status 响应状态
message 异常错误信息
data 异常错误数据

响应成功JSON示例

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

响应异常JSON示例

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

PHP请求示例

<?php

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

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

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

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

//接口请求url
$url="http://api.polyv.net/live/v2/channels/$channelId/end?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...

通过接口设置外部授权

接口URL

http://api.polyv.net/live/v2/channelSetting/{userId}/auth-external

接口说明

(接口调用有频率限制,详细请查看)

1、作用:设置直播外部授权
2、接口URL中的{userId}为 直播账号ID
3、接口支持https协议

返回结果支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
channelId int 频道ID,提交后对某频道ID设置,不提交则对账号下所有频道ID进行设置
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
externalUri string 获取用户信息接口地址
sign string 签名,32位大写MD5值

响应成功JSON示例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": [
    {
        "channelId": 108888,
        "secretKey": "zBUnUpZWl2"
    }
    ]
}

响应失败JSON示例:

未输入appId

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

appId不正确或userId输入错误

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

频道配置错误

{
    "code": 403,
    "status": "error",
    "message": "operation forbidden.",
    "data": ""
}

其他错误

{
    "code": 400,
    "status": "error",
    "message": "unknow error",
    "data": ""
}

字段说明

参数名 说明
code 请求状态响应码
status 请求状态
message 错误信息
channelId 设置的频道号
secretKey 频道号对应外部授权的secretKey

请求示例

<?php


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


//接口需要的参数(非sign)赋值

$channelId="108888";
$userId="edvf2fpec9";
$externalUri = "http://mywebsite.com/myDefinedUrl.php"; //自定义授权地址


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

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


$url="http://api.polyv.net/live/v2/channelSetting/$userId/auth-external";

function post($url, $post_data = '', $timeout = 5){
   $ch = curl_init();
   curl_setopt ($ch, CURLOPT_URL, $url);
   curl_setopt ($ch, CURLOPT_POST, 1);
   if($post_data != ''){
      curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
   }

   curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
   curl_setopt($ch, CURLOPT_HEADER, false);
   $file_contents = curl_exec($ch);
   curl_close($ch);
   return $file_contents;
}

$post_data = array(
  'sign' => $sign,
  'appId' => $appId,
  'channelId' => $channelId,
  'externalUri' => $externalUri,
  'timestamp' => $timestamp
);
echo post($url, $post_data);
?>

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

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

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

删除单条聊天记录

接口URL

http://api.polyv.net/live/v2/chat/{channelId}/delChat

接口说明

(接口调用有频率限制,详细请查看)

1、根据聊天的id删除对应聊天记录
2、接口支持https协议
3、接口URL中的{channelId}为 频道ID

返回结果支持格式

JSON

请求方式

GET,POST

请求数限制

TRUE

请求参数

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

响应成功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": ""
}

频道号错误

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

id输入不正确

{
    "code": 400,
    "status": "error",
    "message": "没有找到该条记录",
    "data": ""
}

其他错误

{
    "code": 400,
    "status": "error",
    "message": "无法访问聊天室数据",
    "data": ""
}

字段说明

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

php请求示例

<?php

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

//接口需要的参数(非sign)赋值
$channelId = "108888";
$id = "2ac4c620-8d6d-11e7-920d-c93c5a9becd7";

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

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

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

$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

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

接口说明

(接口调用有频率限制,详细请查看)

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":100001,
    "status":"live"
    },
    {
    "channelId":100002,
    "status":"end"
    }
     ]
}

响应失败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 频道状态相关信息
data.channelId 频道ID,整型
data.status 频道的直播状态,字符串,值包括:live end

php请求示例

<?php

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

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

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

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

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

$url = "http://api.polyv.net/live/v2/channels/live-status";

$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);
$reponse = curl_exec ( $ch );
curl_close ( $ch );
print_r($reponse);

?>

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

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

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

设置聊天室禁言ip

接口URL

http://api.polyv.net/live/v2/chat/{channelId}/addBannedIP

接口说明

(接口调用有频率限制,详细请查看)

1、设置聊天室禁言ip
2、接口支持https协议
3、接口URL中的{channelId}为 频道ID

返回结果支持格式

JSON

请求方式

GET,POST

请求数限制

TRUE

请求参数

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

响应成功JSON示例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": [
        "192.156.1.4",
        "192.156.1.3",
        "192.156.1.2",
        "192.168.1.3"
    ]
}

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

ip输入错误(正确格式例如:113.103.14.195)

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

其他错误

{
    "code": 400,
    "status": "error",
    "message": "无法访问聊天室数据",
    "data": ""
}

字段说明

参数名 说明
code 请求状态响应码
status 请求状态
message 错误信息
data 请求失败时为空,请求成功为当前设置的禁言ip列表

php请求示例

<?php

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

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

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

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

//接口请求url
$url = "http://api.polyv.net/live/v2/chat/$channelId/addBannedIP?appId=$appId&timestamp=$timestamp&sign=$sign&ip=$ip";

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

?>

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

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

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

直播播放器API

播放器调用方法

<script src="https://player.polyv.net/livescript/liveplayer.js"></script>
<div id='player'></div>
<script type="text/javascript">
var player = polyvObject('#player').livePlayer({
    'width':'498',
    'height':'409',
    'uid':'e3wx706i3v',
    'vid':'99863',
    'forceH5':true
});
</script>

POLYV直播播放器参数

参数名 取值 说明
width Number / String 播放器宽度
height Number / String 播放器高度
uid String 直播账号
vid String 直播频道号
param1 Number / String 后台统计参数
param2 Number / String 后台统计参数
df Number (0 标清 1 高清 2 超清) 多码率功能,默认清晰度
banMultirate Boolean 多码率功能,是否隐藏清晰度选择面板
forceH5 Boolean 优先使用H5播放器

POLYV直播播放器接口

函数名 参数 说明
j2s_resumeVideo / 播放视频操作
j2s_pauseVideo / 暂停视频操作

POLYV直播播放器事件

函数名 参数 说明
s2j_onInitOver vid 播放器初始化完毕事件
s2j_onStartPlay vid 视频播放开始事件
s2j_onOver vid 视频播放结束事件
s2j_onPlay vid 视频播放回调事件
s2j_onPause vid 视频暂停回调事件
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...