概述
云开发 HTTP API 是一套通过 HTTP 协议访问云开发平台功能的接口,支持数据库、数据模型、用户认证、云函数、云托管、云存储、AI 等功能。
准备工作
在开始之前,请确保您已完成以下准备:
- 开通云开发环境:开通云开发环境
- 安全配置:如果希望从 浏览器端 调用,请确保您的环境已配置 云开发平台/安全来源 来放通跨域调用
- 本地开发示例:
localhost:3000、127.0.0.1:3000 - 生产环境示例:您的实际域名
- 本地开发示例:
⚠️ 注意:浏览器端调用必须配置安全来源,否则会因跨域限制导致请求失败。
认证和授权
调用云开发 HTTP API 需要进行认证和授权。请根据您的应用场景选择合适的认证方式:
- AccessToken 认证
- 腾讯云签名 V3 认证
适用环境:客户端/服务端
适用身份:用户身份
常用于客户端应用程序(如移动应用、Web 前端)访问后端服务,支持对用户身份进行精细的访问控制。
获取方式:参考 获取 AccessToken
💡 注意:使用 AccessToken 访问接口时,可以通过 云开发平台/策略管理 来控制用户及角色访问每个接口的权限。
适用环境:服务端
适用身份:开发者身份
适用于服务器之间的通信,特别是需要高安全性的管理操作,如云资源的创建、更新和删除。
配置方式:参考 腾讯云签名 V3
⚠️ 注意:目前
数据模型和用户认证接口不支持腾讯云签名 V3 认证。
使用示例
云函数调用示例
以下示例展示如何通过 HTTP API 调用云函数:
- cURL
- JavaScript
- Python
curl -X POST "https://your-env-id.api.tcloudbasegateway.com/v1/functions/YOUR_FUNCTION_NAME" \
-H "Authorization: Bearer <access_token/apikey/publishable_key>" \
-H "Content-Type: application/json" \
-d '{
"name": "张三",
"age": 25
}'
const response = await fetch(
"https://your-env-id.api.tcloudbasegateway.com/v1/functions/YOUR_FUNCTION_NAME",
{
method: "POST",
headers: {
Authorization: "Bearer <access_token/apikey/publishable_key>",
"Content-Type": "application/json",
},
body: JSON.stringify({
name: "张三",
age: 25,
}),
}
);
const result = await response.json();
console.log("函数返回结果:", result);
import requests
import json
def call_cloud_function():
url = "https://your-env-id.api.tcloudbasegateway.com/v1/functions/YOUR_FUNCTION_NAME"
headers = {
"Authorization": "Bearer <access_token/apikey/publishable_key>",
"Content-Type": "application/json"
}
data = json.dumps({
"name": "张三",
"age": 25
})
response = requests.post(url, headers=headers, data=data)
result = response.json()
print("函数返回结果:", result)
return result
成功调用云函数时,API 会返回以下格式的响应:
{
"result": "函数执行结果",
"requestId": "请求ID",
"timestamp": 1640995200000
}
如果调用失败,错误响应格式如下:
{
"code": "FUNCTION_PARAM_INVALID",
"message": "参数错误详细信息",
"requestId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
在线调试工具
云开发平台提供了 在线调试工具,您可以在不编写代码的情况下测试 API 接口:
- 访问接口文档页面
- 找到调试工具入口
- 填写环境 ID 和请求参数
- 点击发送请求查看响应