# fasc-openapi-java-sdk-demo
**Repository Path**: zhidateam/fasc-openapi-java-sdk-demo
## Basic Information
- **Project Name**: fasc-openapi-java-sdk-demo
- **Description**: 法大大 FASC OpenAPI Java SDK 使用代码示例
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: v5.1
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 3
- **Created**: 2023-07-17
- **Last Updated**: 2023-07-17
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# FASC OpenApi Java SDK v5.1 Demo 说明
# 简介
本项目工程主要是法大大 FASC OpenApi v5.1 Java SDK 的案例代码,其中使用的参数请到法大大SAAS应用管理中提前获取,使用到的SDK及文档,请到法大大开放平台查看。
# 版本说明
FASC.openAPI 产品目前存在两个子版本号:v5.0、v5.1, 均在持续迭代维护。
当前页面SDK Demo基于FASC.openAPI v5.1子版本开发,如需使用FASC.openAPI v5.0版本SDK Demo,请访问:
https://gitee.com/fadada-cloud/fasc-openapi-java-sdk-demo/tree/v5.0
# **1、适用语言**
JAVA
[jar包下载](https://gitee.com/fadada-cloud/fasc-openapi-java-sdk/releases/V5.1.0)
# **2、SDK支持的环境**
JAVA JDK 版本: JDK 1.7-1.8
# 3、引用jar包
引入sdk 所依赖的jar包,提供全流程的方法,提供的方法调用云端法大大api服务。
```text
org.apache.httpcomponents
httpclient
4.5.12
org.apache.httpcomponents
httpmime
4.5.8
com.fasterxml.jackson.core
jackson-databind
2.10.1
org.slf4j
slf4j-log4j12
1.7.25
commons-logging
commons-logging
1.2
```
# 4、始化客户端
项目启动后必须先进行初始化,才能调用jar包方法。初始化仅需一次,之后可重复使用
法大大分配的appId,appSecret,API请求地址在初始化时作为入参传入,请求超时配置、序列化策率可以初始化后设置
```java
//法大大分配的appId
String appId="xxxxx";
//法大大分配的appId对应的秘钥
String appSecret="xxxxx";
//API请求地址
String serverUrl="";
// 初始化客户端
OpenApiClient openApiClient=new OpenApiClient(appId,appSecret,serverUrl);
// http超时配置设置, 默认不设置超时时间
// 如果不设置超时时间 该设置可忽略
HttpConfig httpConfig=new HttpConfig();
httpConfig.setConnectTimeout(1000000);
httpConfig.setReadTimeout(1000000);
openApiClient.setHttpConfig(httpConfig);
// Json序列化策率,默认使用Jackson,如果要使用其他如FastJson,Gson等实现JsonStrategy接口即可
// 如果使用默认该设置可以忽略
openApiClient.setJsonStrategy(new DefaultJsonStrategy());
```
# 5、业务方法调用
OpenApiClient可以构造生成对应业务模块的client,调用具体的业务方法:
| 模块 | 模块中文名 | 模块说明 |
| -------------- | ---------------- | ------------------------------------------------------------ |
| ServiceClient | 服务访问凭证 | 获取服务访问凭证 |
| UserClient | 个人用户管理 | 包含应用的个人用户信息查询、禁用、恢复、解绑等 |
| CorpClient | 企业用户账号管理 | 包含应用的企业用户信息查询、禁用、恢复、解绑等 |
| OrgClient | 组织管理 | 包含企业成员查询 |
| SealClient | 印章管理 | 包含印章查询、用印员查询 |
| DocClient | 文件管理 | 包含网络文件上传、获取文件上传地址、文件处理 |
| TemplateClient | 文档模板管理 | 包含文档模板查询、签署模板查询 |
| SignTaskClient | 签署任务管理 | 包含签署任务的创建、维护、各个流程节点的流转操作,以及签署任务查询、文件下载链接等 |
| EUIClient | EUI页面链接管理 | 对EUI页面链接进行管理操作,如获取个人授权链接、获取企业授权链接、获取计费链接、获取签署编辑链接等 |
下面添加个人用户的方法调用为例展示调用过程:
```java
// 初始化业务客户端
ServiceClient serviceClient=new ServiceClient(openApiClient);
// 获取accessToken
BaseRes res=serviceClient.getAccessToken();
String accessToken=res.getData().getAccessToken();
// 查询个人用户基本信息
UserClient userClient=new UserClient(openApiClient);
GetUserReq getUserReq=new GetUserReq();
getUserReq.setAccessToken(accessToken);
getUserReq.setClientUserId("clientUserId值客户自定义");
BaseRes res=userClient.get(getUserReq);
```
更多示例详见demo代码。
# 注意事项
(1) 由于本项目只是一个demo,所以对token的时效性没有处理,真正引入SDK使用请对token时效做好控制,避免token失效带来的问题。