在应用中集成 RTC 客户端 SDK 实现音视频通信后,也可以通过服务端 OpenAPI 对通话进行控制(例如踢人、云端处理、数据监控等)。
火山引擎的 OpenAPI 提供了多语言的 SDK,您可以直接使用 SDK 调用实时音视频的 OpenAPI,无需手动构造请求头或计算签名。
| 开发语言 | 签名 SDK |
|---|---|
| Golang SDK | volc-sdk-golang |
| Java SDK | volc-sdk-java |
| Python SDK | volc-sdk-python |
| Nodejs SDK | volc-sdk-nodejs |
| PHP SDK | volc-sdk-php |
此方式需自行实现完整的签名逻辑。
一个有效的 OpenAPI 请求必须包含:请求行 + 请求头(含签名)+ 请求体。完整结构如下:
# -------------------- Part 1: 请求行 -------------------- [Method] https://[Host]/?Action=[Action]&Version=[Version] # -------------------- Part 2: 请求头 -------------------- Host: [参考下方说明] Content-Type: [参考下方说明] X-Date: [动态生成的当前 UTC 时间] X-Content-Sha256: [根据 Part 3 请求体计算出的 SHA256 哈希值] Authorization: [必须生成签名,用于鉴权] # -------------------- Part 3: 请求体 -------------------- # 对于 POST 请求,这里是“接口特有参数” { "Parameter1": "Value1", "Parameter2": "Value2", ... }
[Method] https://[Host]/?Action=[Action]&Version=[Version]
[Method]、[Action]、[Version]:可在对应接口文档获取。以 StartVoiceChat 接口为例,如下图所示:
[Host]:服务接入地址,请参见服务地址。
| 参数 | 如何获取 / 构造 |
|---|---|
[Host] | 服务接入地址,与请求行中的 Host 保持一致。 |
[Content-Type] | 资源的 MIME 类型。对于 POST 请求,固定为 application/json;Get 请求中,该值可为空。 |
[X-Date] | 请求时间, UTC 格式(ISO 8601),精确到秒,例如 20201230T081805Z。 |
[X-Content-Sha256] | 请求体的 SHA256 哈希值。若请求体为空,则使用一个固定的哈希值。 |
[Authorization] | 签名鉴权。此值必须通过算法计算,用于验证您的身份和请求内容的完整性。具体方法请参见签名方法。 |
JSON 格式,包含接口所需的业务参数。详细结构和字段说明,请参见对应的 API 文档。