新增白名单

接口URL

http://api.polyv.net/live/v3/channel/auth/upload-white-list

接口说明

1、接口用于设置频道或全局观看条件中的白名单列表
2、接口支持https
3、如导入数据与现有列表数据会员码一致,则会以导入昵称覆盖现有昵称

返回结果支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp long 13位当前时间戳
sign string 签名值
channelId int 频道号,无该参数为全局设置
rank int 主要观看条件为1,次要观看条件为2
file file 白名单文件(白名单模板

响应成功JSON示例:

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

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

频道Id格式错误

{
    "code": 400,
    "status": "error",
    "message": "param is not digit: %s",
    "data": ""
}

频道不存在

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

频道Id非法错误

{
    "code": 400,
    "status": "error",
    "message": "illegal channel id: %s",
    "data": ""
}

白名单表格记录解析错误

{
    "code": 400,
    "status": "error",
    "message": "whitelist excel parse error.",
    "data": ""
}

表格记录没有数据

{
    "code": 400,
    "status": "error",
    "message": "whitelist excel no data.",
    "data": ""
}

字段说明

参数名 说明
code 状态码,成功为200,签名失败为403,参数错误为400,服务端错误为500
status 成功为success,错误时为error
message 成功为"",错误时为错误描述信息
data 成功时为true,错误时为""

php请求示例

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

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

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

// 拼接需要签名的参数
$params["sign"] = $sign;
$url="http://api.polyv.net/live/v3/channel/auth/upload-white-list?".http_build_query($params);

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;
}

// 文件不参与签名
$file['file'] = new CURLFile(realpath("test.xls"));
echo post($url, $file);
?>

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

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

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

设置授权认证URL

接口URL

http://api.polyv.net/live/v3/channel/restrict/update-auth-url

接口说明

1、接口用于设置频道和全局播放限制的授权认证URL,通过是否传channelId进行频道和全局区分
2、接口支持https

返回结果支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp long 13位当前时间戳
sign string 签名值
channelId int 频道号,无该参数为全局设置
url string 授权认证url,为空时清除设置

响应成功JSON示例:

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

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

频道Id格式错误

{
    "code": 400,
    "status": "error",
    "message": "param is not digit: %s",
    "data": ""
}

频道不存在

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

频道Id非法错误

{
    "code": 400,
    "status": "error",
    "message": "illegal channel id: %s",
    "data": ""
}

字段说明

参数名 说明
code 状态码,成功为200,签名失败为403,参数错误为400,服务端错误为500
status 成功为success,错误时为error
message 成功为"",错误时为错误描述信息
data 成功时为true,错误时为""

php请求示例

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

$params = array(
  'appId' => $appId,
  'timestamp' => $timestamp,
  'channelId' => "填写频道号",
  'url' => "www.baidu.com"
);

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


$url="http://api.polyv.net/live/v3/channel/restrict/update-auth-url";

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);
   curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
   $file_contents = curl_exec($ch);
   curl_close($ch);
   return $file_contents;
}

$params["sign"] = $sign;
echo post($url,http_build_query($params));
?>

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

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

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

查询直播频道观看条件

接口URL

http://api.polyv.net/live/v3/channel/auth/get

接口说明

1、接口用于获取频道观看条件
2、接口支持https

返回结果支持格式

JSON

请求方式

GET

请求数限制

TRUE

请求参数

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

响应成功JSON示例:

带频道ID的查询(频道生效观看条件)

#主要观看条件是无观看条件,次要观看条件是白名单观看条件
{
  "code": 200,
  "status": "success",
  "message": "",
  "data": [
    {
      "channelId": 102666,
      "rank": 1,   //主要观看条件
      "userId": "edvf2fpec9",
      "globalSettingEnabled": "N",
      "enabled": "N",
      "authType": "none"
    },
    {
      "channelId": 102666,
      "rank": 2,   //次要观看条件
      "userId": "edvf2fpec9",
      "globalSettingEnabled": "N",
      "enabled": "N",
      "authType": "phone",
      "authTips": "观看提示哦,大家请注意"
    }
  ]
}

#主要观看条件是验证码观看条件,次要观看条件是付费观看
{
  "code": 200,
  "status": "success",
  "message": "",
  "data": [
    {
      "channelId": 102666,
      "rank": 1,   //主要观看条件
      "userId": "edvf2fpec9",
      "globalSettingEnabled": "N",
      "enabled": "N",
      "authType": "code",
      "authCode": "2194",
      "qcodeTips": "请填写验证码",
      "qcodeImg": "http://www.polyv.net/code.png"
    },
    {
      "channelId": 102666,
      "rank": 2,   //次要观看条件
      "userId": "edvf2fpec9",
      "globalSettingEnabled": "N",
      "enabled": "N",
      "authType": "pay",
      "payAuthTips": "付费可看啦",
      "price": 0.10,
      "watchEndTime": null,
      "validTimePeriod": 100
    }
  ]
}

#主要观看条件是登记观看,次要观看条件是自定义授权观看
{
  "code": 200,
  "status": "success",
  "message": "",
  "data": [
    {
      "channelId": 102666,
      "rank": 1,   //主要观看条件
      "userId": "edvf2fpec9",
      "globalSettingEnabled": "N",
      "enabled": "N",
      "authType": "info"
    },
    {
      "channelId": 102666,
      "rank": 2,   //次要观看条件
      "userId": "edvf2fpec9",
      "globalSettingEnabled": "N",
      "enabled": "N",
      "authType": "custom",
      "customKey": "18c9a2e2a1",
      "customUri": "http://www.polyv.net/custom.htm"
    }
  ]
}

#主要观看条件是外部授权观看,次要观看条件是分享观看
{
  "code": 200,
  "status": "success",
  "message": "",
  "data": [
    {
      "channelId": 102666,
      "rank": 1,   //主要观看条件
      "userId": "edvf2fpec9",
      "globalSettingEnabled": "N",
      "enabled": "N",
      "authType": "external",
      "externalKey": "9828d6d5c7",
      "externalUri": "http://www.polyv.net/externalUri.htm",
      "externalRedirectUri": "http://www.polyv.net/externalRedirectUri.htm"
    },
    {
      "channelId": 102666,
      "rank": 2,   //次要观看条件
      "userId": "edvf2fpec9",
      "globalSettingEnabled": "N",
      "enabled": "N",
      "authType": "wxshare"
    }
  ]
}

不带频道ID的查询(全局观看条件)

{
  "code": 200,
  "status": "success",
  "message": "",
  "data": [
    {
      "userId": "edvf2fpec9",
      "rank": 1,
      "enabled": "N",
      "authType": "none",
      "authTips": "欢迎观看本直播",
      "payAuthTips": "欢迎观看本直播",
      "authCode": null,
      "qcodeTips": null,
      "qcodeImg": null,
      "price": 0.00,
      "watchEndTime": null,
      "validTimePeriod": null,
      "customKey": "a0088ec548",
      "customUri": null,
      "externalKey": "5ca1b8cc31",
      "externalUri": null,
      "externalRedirectUri": null
    },
    {
      "userId": "edvf2fpec9",
      "rank": 2,
      "enabled": "N",
      "authType": "none",
      "authTips": "欢迎观看本直播",
      "payAuthTips": "欢迎观看本直播",
      "authCode": null,
      "qcodeTips": null,
      "qcodeImg": null,
      "price": 0.00,
      "watchEndTime": null,
      "validTimePeriod": null,
      "customKey": "8ad66e747e",
      "customUri": null,
      "externalKey": "9c90190d44",
      "externalUri": null,
      "externalRedirectUri": null
    }
  ]
}

响应失败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 频道ID
userId 用户ID
rank 用于实现一个频道设置两个观看条件,为1或2(1为主要条件,2为次要条件)
globalSettingEnabled 是否开启全局设置(Y/N)
enabled 是否开启观看条件(Y/N)
authType 观看条件类型(1. 无限制 none 2. 验证码观看 code 3. 付费观看 pay 4. 白名单观看 phone 5. 登记观看 info 6. 分享观看 wxshare 7. 自定义授权观看 custom 8. 外部授权观看 external)
authTips 白名单观看提示信息
payAuthTips 付费观看提示信息
authCode 验证码观看的验证码
qcodeTips 验证码观看的二维码提示
qcodeImg 验证码观看的二维码图片
price 付费观看的价格
watchEndTime 付费观看,截止时间,为null表示:一次付费,永久有效
validTimePeriod 付费观看的截止时长 (天)
customKey 自定义授权观看的key
customUri 自定义授权观看的接口地址
externalKey 外部授权观看的key
externalUri 外部授权观看的接口地址
externalRedirectUri 外部授权观看,用户直接访问观看页时的跳转地址

php请求示例

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

$channelId="183950";

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

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

$url = "http://api.polyv.net/live/v3/channel/auth/get?appId=".$appId."&channelId=".$channelId."&timestamp=".$timestamp."&sign=".$sign;

echo file_get_contents($url);

?>

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

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

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

自定义授权

一、功能路径

我的直播 --> 频道设置-->观看条件设置-->自定义授权

二、功能介绍

打开直播观看页时,直播系统会调用客户系统的验证接口,客户自定义验证逻辑,验证通过后才能打开保利威视直播观看页,并且接口返回的观众账号具有唯一性,即同一个账号不能在两个地方同时登录,较早登录的账号会被踢出。
自定义授权观看

  1. Secretkey:用于校验签名的生成。
  2. 自定义URL:用于自定义授权验证的API接口。

三、自定义授权流程详解

  1. 在自定义URL处填写用户的授权验证API接口,需要完整的不带参数的url地址(不能是localhost等本地服务器地址,且不能带 ? 号),如:http://myWebsite.com/auth。
  2. 直播系统会将id(直播的频道)、ts(当前时间的毫秒级时间戳)、sign(用于校验的签名)、url(回调的url地址)等参数提交给用户自定义的API接口,用户需要对字符串secretkey + id + secretkey + ts进行MD5加密后与sign参数的值做比较判断是否合法。
  3. 通过校验和自定义验证逻辑后,客户系统将userid(学员唯一标识,仅支持英文大小写、数字和下划线)、nickname(昵称)、avatar(头像)、actor(用户头衔名称,非必须)、actorFColor(用户头衔字体颜色,非必须,请使用CSS Hex值带#号)、actorBgColor(用户头衔背景颜色,非必须,请使用CSS Hex值带#号)、ts(当前时间的毫秒级时间戳)、sign(校验签名)等参数提交到回调的url接口。
  4. 直播系统会对签名做校验后判断是否允许学员观看.校验通过后将进入直播观看页,聊天区域将显示观众的昵称和头像。一次成功请求后,该链接将失效。

流程图如下

自定义授权流程图

四、参数说明

自定义授权观看参数说明

五、代码示例(PHP)

<?php
$secretkey = "jlw42byyJ6"; //后台secretKey,在自定义授权地址设置页面
$id        = $_GET["id"]; //直播的频道id
$ts        = $_GET["ts"]; //当前时间
$sign      = $_GET["sign"]; //用于检验的签名
$url       = $_GET["url"]; //回调的url
$md5       = md5($secretkey . $id . $secretkey . $ts); //若md5字符串与sign不符合,则不做任何处理
if (!($sign == $md5)) {
    return;
}
$userid       = "eciyhturt8"; //学员唯一标识
$nickname     = urlencode(base64_encode("保利威")); //学员的昵称
$marqueeName     = urlencode(base64_encode("polyv")); //自定义跑马灯内容
$avatar       = "http://live.polyv.net/assets/images/avatars/9avatar.jpg"; //学员的头像
$callbackTs   = time() * 1000; //当前的系统时间
$callbackSign = md5($secretkey . $id . $secretkey . $callbackTs . $secretkey . $userid); //用于检验的签名
$callbackUrl  = $url . "?userid=" . $userid . "&nickname=" . $nickname . "&marqueeName=" . $marqueeName. "&avatar=" . $avatar . "&ts=" . $callbackTs . "&sign=" . $callbackSign; //新的直播页面url
//打开新的直播页面url
echo "<script language='javascript' type='text/javascript'>location.href='" . $callbackUrl . "'</script>"
?>

六、展示效果

http://live.polyv.cn/watch/104400

七、注意事项

  1. .要保证自定义验证接口返回的userid的唯一性,当多个观众使用同一个userid进入观看页时,较早登录的观众会被后面登录的观众踢出,观看页会提示 "帐号在另外的地方登录,您将被退出观看。"如下图:
    退出观看提示

  2. 学员的昵称进行base64加密后再进行urlencode加密,否则可能会造成观看页昵称显示乱码现象。

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

外部授权

一、功能介绍

当需要观众登录机构的用户系统,验证通过后才能进入直播观看页时,可使用外部授权。验证观众是否可观看由机构实现,验证通过后打开的观看页面由保利威实现。
机构后台针对通过验证的观众,打开直播观看页时URL需带上指定的参数,经过直播系统验证请求合法后,直播系统会调用客户在后台设置的自定义授权验证接口,进行接口授权验证,两次验证通过,才能进入直播观看页,并且接口返回的观众账号具有唯一性,即同一个账号不能在两个地方同时登录,较早登录的账号会被踢出。
外部授权

  1. Secretkey:用于校验签名的生成。
  2. 自定义URL:用于外部授权验证的API接口。
  3. 跳转地址:观众直接访问Polyv观看页,会跳转到该地址;若跳转地址为空,则显示默认提示页。

二、展示效果

http://demo.polyv.net/chenwb/open.php

三、外部授权流程详解

  1. 在自定义URL处填写用户的授权验证API接口,需要完整的不带参数的url地址(不能是localhost等本地服务器地址,且不能带 ? 号),如:http://myWebsite.com/auth。
  2. 在请求保利威视直播观看页时需带上userid(用户ID,仅支持英文大小写、数字和下划线)、ts(当前时间的毫秒级时间戳)和sign(用于校验的签名,生成规则是secretkey + userid + secretkey + ts进行MD5加密),如https://live.polyv.cn/watch/125527?userid=6b3a43&ts=1498547407000&sign=dd9dc9e42ad7c0204398e925a4ee0f46
  3. 直播系统会对字符串secretkey+userid+secretkey+ts进行MD5加密后与用户提交的sign参数的值做比较判断是否合法。一次成功请求后,该链接将失效(sign只能成功使用一次)。如果合法,直播系统将调用用户的api接口,并把userid(用户ID)、ts(当前时间的毫秒级时间戳)和token(用于校验的签名)三个参数传给用户。如果不合法,则给出错误提示。
  4. 用户API接口获取userid、ts和token参数后,进行签名验证。如果验证通过,则将学员相关信息(详参“用户系统返回观众信息json说明”)返回给直播系统。
  5. 直播系统接收用户API接口返回的数据,如果验证成功,则进入到保利威视直播观看页,聊天区将显示学员的昵称和头像。如果验证失败,则给出错误提示。

交互图如下

外部授权交互图

四、参数说明

请求观看页所带参数

用户将以下的参数提交给直播的观看页,(例如:https://live.polyv.cn/watch/125527?userid=test&ts=1565948760108&sign=b0b6eb22b6fa5e5684873052c27a6cef)
直播系统会对sign 进行验证,判断是否合法,一次成功请求后,该链接将失效(sign只能成功使用一次)

参数名称 必填 参数说明
userid 观众id,非中文字符串
ts 13位毫秒级时间戳
sign 用户校验的签名,加密规则:secretkey + userid + secretkey + ts

观看页请求观众信息接口参数

观看页请求用户在后台设置的自定义URL获取观众信息,以下为请求所带的参数

参数名 必填 参数说明
userid 观众id,非中文字字符串(请求观看页时所带的userid)
channelId 频道号
ts 当前时间的13位毫秒级时间戳
token 用于校验的签名,生成的规则:对字符串secretkey + userid + secretkey + ts进行MD5加密生成的字符串

用户系统返回观众信息json说明

用户的接口接收到请求后,进行相关检验判断通过后,将学员信息以json格式的信息返回

字段 类型 必填 字段说明
status int 请求结果,1表示成功,0表示失败
userid string 观众ID
nickname string 观众昵称
marqueeName string 自定义跑马灯字段
avatar string 观众头像地址,头像尺寸200*200,体积不超过30KB。
actor string 观众头衔地址
actorFColor string 观众头衔字体颜色,非必须,请使用CSS Hex值并且带# 号
actorBgColor string 观众头衔背景颜色,非必须,请使用CSS Hex值带# 号
param4 string 统计观众观看日志的自定义参数
param5 string 统计观众观看日志的自定义参数
errorUrl string 请求失败时观看页跳转的地址

成功返回:

{"status":1,"userid":"2qwerty","nickname":"testNick","actor":"paul","actorFColor":"#123123","actorBgColor":"#FFFFFF","param4":"param4test","avatar":"http:\/\/live.polyv.net\/assets\/images\/avatars\/9avatar.jpg"}

失败返回:

{"status":0,"errorUrl":"http://test.com"}

注意事项:在使用普通直播观看页时,同时传入了nickname和marqueeName,在观看日志中,marqueeName将作为用户昵称的统计字段

五、代码示例(PHP)

<?php
header("Content-type:application/json;charset=UTF-8"); //媒体格式类型为JSON数据格式
$secretkey = "aDrOt0Cpy8";
$userid    = isset($_GET["userid"]) ? $_GET["userid"] : "";
$ts        = isset($_GET["ts"]) ? $_GET["ts"] : "";
$channelId = isset($_GET["channelId"]) ? $_GET["channelId"] : "";
$token     = isset($_GET["token"]) ? $_GET["token"] : "";
$sign      = md5($secretkey . $userid . $secretkey . $ts);

//用户进行授权验证,返回对应的数据(json格式)
if ($sign == $token) {
    //验证正确
    $array1 = array(
        "status"   => 1, //返回状态
        "userid"   => $userid, //学员唯一标识
        "nickname" => "保利威", //学员昵称
        "marqueeName" => "polyv", //自定义跑马灯字段
        "avatar"   => "http://live.polyv.net/assets/images/avatars/9avatar.jpg", //学员头像
        "actor"   => "VIP",  // 学员头衔,可以不传递
        "actorFColor"   => "#5C96E5",  // 学员头衔字体颜色,可以不传递
        "actorBgColor"   => "#FFFFFF"   // 学员头衔背景颜色,可以不传递
    );
    $json1 = json_encode($array1);
    echo $json1;
} else {
    //验证错误
    $array0 = array(
        "status"   => 0,
        "errorUrl" => "http://xxx.xx.xxxx/error.html", //验证错误跳转的自定义页面
    );
    $json0 = json_encode($array0);
    echo $json0;
}

六、注意事项

  1. .要保证自定义验证接口返回的userid的唯一性,当多个观众使用同一个userid进入观看页时,较早登录的观众会被后面登录的观众踢出,观看页会提示 "帐号在另外的地方登录,您将被退出观看。"如下图:
    被踢

  2. 自定义验证接口需要填写完整的URL地址,且不能是localhost等本地服务器地址。

  3. 自定义验证接口返回给直播系统的数据格式是json格式。

七、错误提示

  1. user not found:请求自定义验证接口错误,或者接口返回的格式不对。
  2. invalid sign:签名错误,sign的生成规则是secretkey+userid+secretkey+ts进行MD5加密。
  3. sign expired:签名过期,每一个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...

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/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/channelSetting/{userId}/oauth-custom

接口说明

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

返回结果支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
channelId int 要设置的频道ID,不提交默认为设置所有频道
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
customUri string 自定义授权地址
sign string 签名,32位大写MD5值

响应成功JSON示例:

{
  code: 200,
  status: "success",
  message: "",
  data: [
      {
        channelId: 89001,
        secretKey: "KNpMHZfzmk"
      }
  ]
}

响应异常JSON示例:

{
  code: 400,
  status: "error",
  message: "user not exist.",
  data: ""
}

字段说明

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

php请求示例

<?php

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

//接口需要的参数(非sign)赋值
$userId = "XXXXXXXX";
$customUri = "http://mywebsite.com/myDefinedUrl.php";

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

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

//接口请求url
$url = "http://api.polyv.net/live/v2/channelSetting/$userId/oauth-custom?appId=$appId&timestamp=$timestamp&customUri=$customUri&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...