自定义授权

一、功能路径

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

二、功能介绍

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

  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需带上指定的参数,经过直播系统验证请求合法后,直播系统会调用客户在后台设置的自定义授权验证接口,进行外部授权验证,两次验证通过,才能进入直播观看页,并且接口返回的观众账号具有唯一性,即同一个账号不能在两个地方同时登录,较早登录的账号会被踢出。
externalAuth1

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

三、外部授权流程详解

  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参数后,进行外部授权验证。如果验证通过,则将status(返回状态)、userid(学员唯一标识)、nickname(学员昵称)、avatar(学员头像)、actor(用户头衔名称,非必须)、actorFColor(用户头衔字体颜色,非必须,请使用CSS Hex值带#号)、actorBgColor(用户头衔背景颜色,非必须,请使用CSS Hex值带#号)等参数以json格式返回给直播系统。如果验证不通过,则将status(返回状态)、errorUrl(用户自定义错误页面)等参数返回给直播系统。
  5. 直播系统接收用户API接口返回的数据,如果验证成功,则进入到保利威视直播观看页,聊天区将显示学员的昵称和头像。如果验证失败,则给出错误提示。

流程图如下

外部授权流程图

四、参数说明

外部授权参数
注意事项:在使用普通直播观看页时,同时传入了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"] : "";
$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;
}

六、展示效果

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

七、注意事项

  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/channel/menu/{channelId}/update-consulting-enabled

接口说明

1、通过调用接口,可以开启或关闭咨询提问功能菜单
2、接口URL中的{channelId}为 频道ID
3、接口支持https

支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

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

响应成功JSON示例:

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

响应失败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 无作用

php请求示例

<?php

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

//接口需要的参数(非sign)赋值
$channelId = "127075";
$enabled = "Y";
$timestamp = time() * 1000;

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

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

//输出接口请求结果
//接口请求url
$url = "http://api.polyv.net/live/v2/channel/menu/".$channelId."/update-consulting-enabled?appId=".$appId."&enabled="."$enabled"."&timestamp=".$timestamp."&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/{channelId}/set-countdown

接口说明

1、通过接口可以修改频道的倒计时设置。
2、预约功能需开启开关且开启倒计时开关以及设置正确的直播时间才生效
3、之前未设置倒计时直播提示和直播时间的频道号,在开启倒计时开关时,必须提交countTips和startTime
4、接口支持https
5、接口URL中的{channelId}为 频道ID

支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
countEnabled Y 或 N 倒计时开关后续将弃用,使用startTime的值自动判断开关值
bookingEnabled Y或 N 预约观看开关
countTips string(长度不能大于10) 直播倒计时提醒文字(****已弃用****)
startTime string(yyyy-MM-dd HH:mm:ss) 直播开始时间,如果不传该值,表示不显示直播时间和倒计时
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": ""
}

倒计时开关错误(不是Y或N)

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

开启开关且之前未设置过直播提示时,未提交countTips

{
    "code": 400,
    "status": "error",
    "message": "countTips is requeired under this condition.",
    "data": ""
}

其他情况

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

字段说明

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

php请求示例

<?php

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

//接口需要的参数(非sign)赋值
$channelId = "127075";
$countEnabled = "Y";
$bookingEnabled = "Y";
$startTime = "2018-02-15 10:00:00";
$countTips = "精彩值得等待";

$params = array(
    'appId'=>$appId,
    'bookingEnabled'=>$bookingEnabled,
    'countEnabled'=>$countEnabled,
    'countTips'=>$countTips,
    'startTime'=>$startTime,
    'timestamp'=>$timestamp
  );

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

$data = array(
      'appId' => $appId,
      'countEnabled' => $countEnabled,
      'timestamp' => $timestamp,
      'sign' => $sign,
      'bookingEnabled' => $bookingEnabled,
      'countTips' => $countTips,
      'startTime' => $startTime
  );

$url = "http://api.polyv.net/live/v2/channelSetting/$channelId/set-countdown";
$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...

获取倒计时设置信息

接口URL

http://api.polyv.net/live/v2/channelSetting/{channelId}/get-countdown

接口说明

通过接口可以获取倒计时设置的相关信息;
接口支持https
3、接口URL中的{channelId}为 频道ID

支持格式

JSON

请求方式

GET,POST

请求数限制

TRUE

请求参数

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

响应成功JSON示例:

{
    code: 200,
    status: "success",
    message: "",
    data: {
        bookingEnabled: "N",
        countTips: "不要急,精彩值得等待",
        countEnabled: "N",
        startTime: "2018-12-01 15:00:00"
    }
}

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

字段说明

参数名 说明
code 请求结果代码,成功为200
status 请求结果,成功时为"success"错误时为"error"
countEnabled 倒计时开关(Y/N)
bookingEnabled 预约开关(Y/N)
countTips 直播提示文字(****已弃用****)
startTime 直播开始时间

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/channelSetting/$channelId/get-countdown?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}/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 累计观看人数

响应成功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/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直播用户,能够与网站集成,直接用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/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...

通过接口设置外部授权

接口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.live.polyv.net/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...