表单内部App应用调用接口
内部App应用接入API认证机制说明
TDUCK 开放 API v1 接口采用 HTTP Basic Authentication 认证机制,调用方需使用系统生成的 AppId 与 AppSecret,完成请求签名,保障 API 调用安全。
认证机制概述
- 鉴权方式:
HTTP Basic Auth - 鉴权目标:绑定于特定用户账号,Token 权限等同于发起用户
- 调用限制:每个 Token 仅对应其创建用户的数据访问范围

🧭 接入流程
| 步骤 | 操作说明 |
|---|---|
| 1️⃣ | 登录 TDuckX 后台管理系统 |
| 2️⃣ | 点击【其他工具】>【应用接入】 |
| 3️⃣ | 新建密钥,生成AppId与AppSecret |
| 4️⃣ | 拼接字符串:appId + ":" + appSecret |
| 5️⃣ | 对拼接字符串进行Base64编码 |
| 6️⃣ | 拼接认证头:Authorization: Basic <Base64编码结果> |
| 7️⃣ | 携带该认证头请求接口,实现安全访问 |
🧾 请求 Headers 要求
| Header 名称 | 说明 | 示例值 |
|---|---|---|
Content-Type |
请求体格式 | application/json |
Accept |
返回数据格式 | application/json |
Authorization |
鉴权信息,必须带上 Basic Token | Basic QjFzU... |
示例说明
示例参数
| 项目 | 示例值 |
|---|---|
AppId |
B1sPsK43zJuIVqmk |
AppSecret |
5ISISQYciSzxjXrBiL87Z26GA5Zaqokc |
| 拼接前字符串 | B1sPsK43zJuIVqmk:5ISISQYciSzxjXrBiL87Z26GA5Zaqokc |
| Base64 编码 | QjFzUHNLNDN6SnVJVnFtazo1SVNJU1FZY2lTenhqWHJCaUw4N1oyNkdBNVphcW9rYw== |
最终请求头格式
Authorization: Basic QjFzUHNLNDN6SnVJVnFtazo1SVNJU1FZY2lTenhqWHJCaUw4N1oyNkdBNVphcW9rYw==
示例调用
【curl 示例】
curl --location --request GET 'http://localhost:8888/tduck-api/open/form/fields?formKey=6Pfm9yAD' \
--header 'Authorization: Basic QjFzUHNLNDN6SnVJVnFtazo1SVNJU1FZY2lTenhqWHJCaUw4N1oyNkdBNVphcW9rYw==' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json'
【Java 示例】(使用 OkHttp)
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://localhost:8888/tduck-api/open/form/fields?formKey=6Pfm9yAD")
.get()
.addHeader("Authorization", "Basic QjFzUHNLNDN6SnVJVnFtazo1SVNJU1FZY2lTenhqWHJCaUw4N1oyNkdBNVphcW9rYw==")
.addHeader("Content-Type", "application/json")
.addHeader("Accept", "application/json")
.build();
Response response = client.newCall(request).execute();
String responseBody = response.body().string();
System.out.println(responseBody);
【认证Token生成代码 - Java 示例】
public class AuthUtil {
/**
* 生成 Base64 编码的 Basic Auth Token
*/
public static String generateToken(String appId, String appSecret) {
String authStr = appId + ":" + appSecret;
return Base64.getEncoder().encodeToString(authStr.getBytes(StandardCharsets.UTF_8));
}
}
⚠️ 注意事项
- 每个密钥仅限当前用户使用,数据访问范围受限于当前账号。
- 不建议将
AppSecret明文存储或提交至客户端代码。 - 可为不同业务系统生成多个密钥,方便权限隔离与管理。
- 若 Token 泄露,应立即在后台删除并重新生成密钥。
📚 接口文档说明
TDuck API V1 接口文档已托管在 ApiFox 平台,包含了所有开放接口的详细定义,包括请求方式、参数说明、示例数据、响应结构、状态码等信息。
💡 建议开发者访问链接查看最新文档,以获取最新字段和参数规范。
🔗 快速入口
- 接口文档地址:https://apifox.com/apidoc/shared-0e3f835c-bed8-4869-8b95-2fa106de8b7b
- 建议使用 桌面端 Apifox 客户端 或 Chrome 浏览器 打开文档,体验更佳。
- 接口类型将会持续更新...