OpenApiHelper
OpenApiHelper 提供调用 Chameleon 平台 Open API 的能力,内部自动处理 Token 认证,无需手动管理认证信息。
概述
通过 OpenApiHelper,可以在 C# 脚本或微服务中安全地调用平台的 Open API 接口。SDK 会根据配置自动选择合适的认证方式(系统级 Token 或租户级个人令牌)。
API 方法
PostAsync — POST 请求
发送 POST 请求到 Open API。
// 基础用法:返回 ResponseResult
Task<ResponseResult> PostAsync(string url, object body = null);
// 泛型用法:自动反序列化为指定类型
Task<ResponseResult<TResult>> PostAsync<TResult>(string url, object body = null);
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| url | string | API 路径,格式为 api/OpenApi/xxx |
| body | object | 请求体(JSON 对象),可选 |
使用示例:
// 测试接口连通性
var result = await sdk.OpenApiHelper.PostAsync("api/OpenApi/Hello");
// 带请求体的调用
var result = await sdk.OpenApiHelper.PostAsync(
"api/OpenApi/Account/AssignProfile",
new { profileId = "profile-001", userIds = new[] { "user-001", "user-002" } }
);
// 泛型返回,自动解析 data 字段
var result = await sdk.OpenApiHelper.PostAsync<MyDataType>(
"api/OpenApi/SomeEndpoint",
new { id = "123" }
);
var data = result.Data; // 已解析为 MyDataType
GetSystemUserToken — 获取系统用户 Token
获取当前系统用户的访问 Token,用于需要手动构造 HTTP 请求的场景。
string GetSystemUserToken();
使用示例:
// 获取 Token 后手动调用(通常推荐直接使用 PostAsync)
var token = sdk.OpenApiHelper.GetSystemUserToken();
// 使用 token 构造自定义 HTTP 请求...
典型场景
调用账户管理接口
// 为人员授予身份
await sdk.OpenApiHelper.PostAsync(
"api/OpenApi/Account/AssignProfile",
new AssignProfileRequest
{
ProfileId = "manager-profile-id",
UserIds = new[] { "user-id-1", "user-id-2" }
}
);
调用审批流接口
// 发起审批
await sdk.OpenApiHelper.PostAsync(
"api/OpenApi/Workflow/Launch",
new WorkflowLaunchRequest
{
MetaObjectCode = "LeaveApplication",
BizDataId = bizDataId,
WorkflowId = workflowId,
LaunchUserId = currentUserId
}
);
注意事项
- 大多数场景下推荐直接使用
PostAsync方法,无需手动处理 Token - Token 的获取方式由配置决定(系统级 SecurityKey 或租户级 AccessKey)
- 可用的 Open API 接口列表请参考 OpenAPI 文档
相关文档
- OpenAPI 完整文档 — 所有可用接口及详细说明
- AccountHelper — 封装了常用的账户管理 Open API 调用
- WorkflowHelper — 封装了常用的审批流 Open API 调用