You need to enable JavaScript to run this app.
文档中心
文档控制台
注册
视频直播

视频直播

复制全文
下载 pdf
PHP SDK
回调管理
复制全文
下载 pdf
回调管理

阅读本文,您可以获取 PHP SDK 回调管理的接口调用示例,实现快速开发。

说明

本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。

调用说明

  • 本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
  • 接口的参数说明和错误码等信息可通过接口文档或打开 API Explorer文档说明页签查看。

前提条件

调用接口前,请先完成 PHP SDK 的安装及初始化操作。

调用示例

本节为您介绍回调管理相关接口的功能和调用示例。

添加或更新回调配置

您可以调用 UpdateCallback 接口添加或更新回调配置。详细的参数说明可参见 UpdateCallback 接口文档。

接口调用示例如下所示。

<?php
include_once "./vendor/autoload.php";

use Volc\Service\Live\V20230101\Live;

// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
$client = Live::getInstance();

$client->setAccessKey(getenv("VOLC_ACCESSKEY"));

$client->setSecretKey(getenv("VOLC_SECRETKEY"));

$body = [
    // 应用名称,取值与直播流地址中 AppName 字段取值相同,默认为空,表示查询所有应用名称。支持由大小写字母(A - Z、a - z)、数字(0 - 9)、下划线(_)、短横线(-)和句点(.)组成,长度为 1 到 30 个字符。
    // note:
    // 如果入参选择 Domain,则不可同时传 App。
    "App" => "example_app",
    // 回调消息发送是否开启鉴权,默认为 false,取值及含义如下所示。
    // <li> false:不开启; </li>
    // <li> true:开启。 </li>
    "AuthEnable" => false,
    // 回调消息发送鉴权密钥。
    // note:
    // 如果 AuthEnable 为 true,则密钥必填。
    "AuthKeyPrimary" => "1622194197-0-0-5552*****e4e20387c6dc18afce****",
    // 回调信息列表。
    "CallbackDetailList" => [
        [
            // 回调类型,返回 HTTP,表示可以使用 HTTP 和 HTTPS 地址接收回调消息。
            "CallbackType" => "http",
            // 回调消息接收地址。
            "URL" => "http://example.com/callback",
        ],
    ],
    // 直播流使用的推流域名。您可以调用 [ListDomainDetail](https://www.volcengine.com/docs/6469/1126815) 接口或在视频直播控制台的[域名管理](https://console.volcengine.com/live/main/domain/list)页面,查看直播流使用的域名。
    // note:
    // Vhost 和 Domain 传且仅传一个。
    "Domain" => "push.example.com",
    // 回调的消息类型,取值及含义如下所示。
    // <li> push:推流开始回调; </li>
    // <li> push_end:推流结束回调; </li>
    // <li> snapshot:截图回调; </li>
    // <li> record:录制任务状态回调; </li>
    // <li> audit_snapshot:截图审核结果回调。 </li>
    "MessageType" => "push",
    // 是否开启转码流回调,默认为 0。取值及含义如下所示。
    // <li> 0:false,不开启; </li>
    // <li> 1:true,开启。 </li>
    // note:
    // 回调类型为推流开始或推流结束时生效。
    "TranscodeCallback" => 0,
    // 域名空间,即直播流地址的域名所属的域名空间。您可以调用 [ListDomainDetail](https://www.volcengine.com/docs/6469/1126815) 接口或在视频直播控制台的[域名管理](https://console.volcengine.com/live/main/domain/list)页面,查看需要查询的直播流使用的域名所属的域名空间。
    // note:
    // Vhost 和 Domain 传且仅传一个。
    "Vhost" => "push.example.com",
];

$response = $client->updateCallback($body);
print_r($response);

删除回调配置

您可以调用 DeleteCallback 接口删除回调配置。详细的参数说明可参见 DeleteCallback 接口文档。

接口调用示例如下所示。

<?php
include_once "./vendor/autoload.php";

use Volc\Service\Live\V20230101\Live;

// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
$client = Live::getInstance();

$client->setAccessKey(getenv("VOLC_ACCESSKEY"));

$client->setSecretKey(getenv("VOLC_SECRETKEY"));

$body = [
    // 域名空间,与创建回调时传的值一致。您可以调用 [DescribeCallback](https://www.volcengine.com/docs/6469/1126931) 接口查看待删除回调配置的 Vhost 取值。
    "Vhost" => "push.live.example.com",
    // 推流域名,与创建回调时传的值一致。您可以调用 [DescribeCallback](https://www.volcengine.com/docs/6469/1126931) 接口查看待删除回调配置的 Domain 取值。
    "Domain" => "push.live.example.com",
    // 消息类型,与创建回调时传的值一致。您可以调用 [DescribeCallback](https://www.volcengine.com/docs/6469/1126931) 接口查看待删除回调配置的 MessageType 取值。
    // <li> push:推流开始回调; </li>
    // <li> push_end:推流结束回调; </li>
    // <li> snapshot:截图回调; </li>
    // <li> record:录制任务状态回调; </li>
    // <li> audit_snapshot:截图审核结果回调。 </li>
    "MessageType" => "push",
    // 应用名称,与创建回调时传的值一致。您可以调用 [DescribeCallback](https://www.volcengine.com/docs/6469/1126931) 接口查看待删除回调配置的 App 取值。
    "App" => "live",
];

$response = $client->deleteCallback($body);
print_r($response);

查询回调配置

您可以调用 DescribeCallback 接口查询回调配置。详细的参数说明可参见 DescribeCallback 接口文档。

接口调用示例如下所示。

<?php
include_once "./vendor/autoload.php";

use Volc\Service\Live\V20230101\Live;

// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
$client = Live::getInstance();

$client->setAccessKey(getenv("VOLC_ACCESSKEY"));

$client->setSecretKey(getenv("VOLC_SECRETKEY"));

$body = [
    // 应用名称,取值与直播流地址中 AppName 字段取值相同,默认为空,表示查询所有应用名称。支持由大小写字母(A - Z、a - z)、数字(0 - 9)、下划线(_)、短横线(-)和句点(.)组成,长度为 1 到 30 个字符。
    "App" => "Live",
    // 直播流使用的推流域名,默认为空,表示查询所有当前域名空间(Vhost)下的在线流。您可以调用 [ListDomainDetail](https://www.volcengine.com/docs/6469/1126815) 接口或在视频直播控制台的[域名管理](https://console.volcengine.com/live/main/domain/list)页面,查看直播流使用的域名。
    // note:
    // Vhost 和 Domain 传且仅传一个。
    "Domain" => "push.example.com",
    // 回调类型。默认为空,表示查询全部回调类型,取值及含义如下所示。
    // <li> push:推流开始回调; </li>
    // <li> push_end:推流结束回调; </li>
    // <li> snapshot:截图回调; </li>
    // <li> record:录制回调; </li>
    // <li> audit_snapshot:截图审核回调。 </li>
    "MessageType" => "push",
    // 域名空间,即直播流地址的域名所属的域名空间。您可以调用 [ListDomainDetail](https://www.volcengine.com/docs/6469/1126815) 接口或在视频直播控制台的[域名管理](https://console.volcengine.com/live/main/domain/list)页面,查看需要查询的直播流使用的域名所属的域名空间。
    // note:
    // Vhost 和 Domain 传且仅传一个。
    "Vhost" => "push.example.com",
];

$response = $client->describeCallback($body);
print_r($response);

最近更新时间:2025.02.21 18:04:05
这个页面对您有帮助吗?
有用
有用
无用
无用