本文将引导通过服务器端代码请求微吼云 API,创建直播 room_id 和具有推流权限的 access_token

获取 app_id 和 secret_key

微吼云 API 使用 app_id 来标识应用,使用 secret_key 来作为双方通讯的传输秘钥,两者为使用微吼云 API 的必要参数。

点击这里 查看如何获取 app_idsecret_key

PHP代码实现

引入公共代码

我们对调用 API 过程中一些公用代码做了简单封装,作为工具库,您可以 点击这里 获取。然后在代码中引用。

/**
 * 引入公共代码
 */
include_once("vhall_paas.php");

本文后面的 PHP 示例代码将以此工具库为基础。

运行服务端代码

当微吼云代码工具库引入到项目中后,您可以开始运行下列 API 调用代码来获取直播 room_id 和有推流权限的 access_token

获取直播 room_id

// 引入公共代码
include 'vhall_paas.php';

/**
 * 初始化应用&秘钥信息
 * 获取方式 微吼云控制台 -> 应用 -> 设置 -> 应用信息
 * http://www.vhallyun.com/console/app/index
 */
VhallPaas::$app_id = '';
VhallPaas::$secret_key = '';

// 创建房间接口请求地址
$createRoomAddress = 'api.yun.vhall.com/api/v1/room/create';

// 创建房间参数
$createRoomParams = [];

// 加载公共参数&运算签名
$createRoomParams = VhallPaas::createRealParam($createRoomParams);

// 创建房间
try {
    $result = VhallPaas::request($createRoomAddress, $createRoomParams);
    $roomId = $result['room_id'];
} catch (Exception $e) {
    exit("请求发生错误 错误信息为 {$e->getMessage()} . 错误码为 {$e->getCode()}");
}

var_dump($roomId);

获取具有推流权限的 access_token

注意 :运行下面代码,需要您先获取到直播 room_id , 详情见上一步。

// 引入公共代码
include 'vhall_paas.php';

/**
 * 初始化应用&秘钥信息
 * 获取方式 微吼云控制台 -> 应用 -> 设置 -> 应用信息
 * http://www.vhallyun.com/console/app/index
 */
VhallPaas::$app_id = '';
VhallPaas::$secret_key = '';
// 生成AccessToken接口请求地址
$accessTokenAddress = 'api.yun.vhall.com/api/v1/base/create-access-token';

/**
 * 生成 AccessToken 参数
 * AccessToken 为 SDK 中鉴别用户权限使用,针对不同的服务需要不同的参数来生成 AccessToken
 * 当前例子需要推流权限,所以权限位使用的 publish_stream
 * 您可以通过阅读 www.vhallyun.com/docs/show/1013 来获取不同权限的 AccessToken 生成方式
 */
$createAccessTokenParams = [
    // 第三放用户ID,根据实际情况编写 (这里使用当前时间)
    'third_party_user_id' => 'vhall_paas_test_' . time(),
    // 过期时间,最大时间为一天,默认一天 (这里使用10小时做例子)
    'expire_time' => date("Y-m-d H:i:s", time() + (10 * 3600)),
    // 权限设定 (直播 room_id 通过上一步 获取直播 room_id 得到)
    'publish_stream' => ‘lss_xxxx’,
];

// 加载公共参数&运算签名
$createAccessTokenParams = VhallPaas::createRealParam($createAccessTokenParams);

// 获取 AccessToken
try {
    $result = VhallPaas::request($accessTokenAddress, $createAccessTokenParams);
    $accessToken = $result['access_token'];
} catch (Exception $e) {
    exit("请求发生错误 错误信息为 {$e->getMessage()} . 错误码为 {$e->getCode()}");
}

var_dump($accessToken);

参考链接

完成本页的步骤后,您可能需要阅读以下文档。