nimeet 文档中心
English

控制台开通服务与获取凭证

实名认证、创建项目、App ID / Customer Secret / App Certificate、轮换密钥、开通录制与推流。

版本 v1.1.0 · 更新于 2026-10-26 · 修订 1

这一页说明「一个项目从开通到能入会」需要做的四件事:建项目 → 拿凭证 → 开通服务 → 配回调。控制台 UI 的逐页操作见 控制台使用指南;这里给出等价的 REST 步骤,因为它可脚本化、可复跑。

前置条件

  • 控制面已启动:代码库根目录 pnpm dev:api(默认 https://api.your-domain.example),或 文档与接口定义自动化校验(默认 https://api.your-domain.example)。
  • 有一个控制台账号。本地演示账号:owner@example.com / change-me-now(可用 CONSOLE_SEED_EMAIL / CONSOLE_SEED_PASSWORD 覆盖)。

第 1 步:登录控制台拿会话

bash
curl -s -X POST "$NIMEET_API_BASE/console/auth/login" \
  -H 'Content-Type: application/json' \
  -d '{"email":"owner@example.com","password":"change-me-now"}'

响应里的 token 就是后续 /console/* 调用的 Authorization: Bearer <token>。会话有独立的过期时间,与项目凭证无关。

第 2 步:创建项目,保存一次性凭证

bash
curl -s -X POST "$NIMEET_API_BASE/console/projects" \
  -H "Authorization: Bearer $NIMEET_CONSOLE_SESSION" \
  -H 'Content-Type: application/json' \
  -d '{"name":"my-first-project","services":{"recording":true,"streaming":true}}'

响应里的四件套就是后续所有调用的凭证:

字段用途是否会再次返回
project.appId客户端 SDK 初始化 / REST 路径参数是
project.customerIdBasic 凭证用户名是
customerSecretBasic 凭证密码否,只返回一次
appCertificate签发 Token 的密钥否,只返回一次

第 3 步:开通/关闭服务

项目创建时可以通过 services 直接开通,也可以后续单独调整:

bash
curl -s -X POST "$NIMEET_API_BASE/console/projects/$PROJECT_ID/services" \
  -H "Authorization: Bearer $NIMEET_CONSOLE_SESSION" \
  -H 'Content-Type: application/json' \
  -d '{"recording":true,"streaming":true}'

服务未开通时调用对应产品接口会返回 403 service_not_enabled(见 错误码全表)。这条规则是刻意的:避免「没开通也悄悄扣费」。

第 4 步:配置回调地址(可选)

bash
curl -s -X PUT "$NIMEET_API_BASE/console/projects/$PROJECT_ID/webhook" \
  -H "Authorization: Bearer $NIMEET_CONSOLE_SESSION" \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com/hooks/nimeet","secret":"$WEBHOOK_SECRET","events":["channel_create","user_join","recording_state_changed"],"enabled":true}'

secret 用于计算 Agora-Signature(SHA1)与 Agora-Signature-V2(SHA256);校验方式与重试计划见 回调接入。配置完成后可以在 GET .../webhook/deliveries 看投递日志并重放失败的投递。

第 5 步:自检

bash
# Token 生成器(控制台同款逻辑,服务端直接签发一个测试 Token)
curl -s -X POST "$NIMEET_API_BASE/console/projects/$PROJECT_ID/token" \
  -H "Authorization: Bearer $NIMEET_CONSOLE_SESSION" \
  -H 'Content-Type: application/json' \
  -d '{"channelName":"weekly-sync","uid":10001,"role":"host","ttlSeconds":600}'

拿到 rtcToken 后,把它交给任一端的示例代码即可入会(见 快速开始 与对应平台的「快速开始与功能指南」)。

本地等价物:演示凭证文件

pnpm dev:api 首次启动会创建一个演示项目,并把一次性凭证写到服务端数据目录下的 demo-credentials.json。文档示例运行器默认读取该文件,因此不跑上面 5 步也能执行示例:

bash
node 文档站 class="tok-flag">-all.mjs --only=0

演示项目在每次 API 重启后重新生成,旧 Token 与旧凭证随之失效——这也是为什么它只能用于本地验证,不能当生产凭证。

常见失败

现象code原因与处理
401missing_authorization没带会话或凭证
401unauthorized会话失效或被吊销(认证失败,不是没权限):重新登录即可,不要按「权限不足」提示用户
401invalid_credentials账号密码错误,或 Basic 的 secret 是轮换前的旧值
403banned(details.permissionDenied: true)已登录,但该账号无权访问这个项目(项目按账号隔离)
409project_exists项目名重复;换一个名字再建
403service_not_enabled调用了未开通的服务,回到第 3 步开通

本页由文档构建流水线生成 · 2026-10-31 01:24:02 UTC · 文档中心 v1.1.0.

内容依据公开 API 定义.

ni-meet 是自建 RTC PaaS,媒体面基于 LiveKit(Apache-2.0),并与声网 API 兼容。