1. 概述
1.1 版本
FineDataLink版本 | 功能变动 |
---|---|
4.0.20.1 | - |
4.0.28 | 数据服务支持应用管理功能,支持以应用的方式分组管理API调用方: 支持对「应用」的基础管理功能(新建、编辑、删除、管理权限配置) 支持对「应用」配置鉴权 支持为「应用」授权指定API的访问、指定授权有效期、指定授权调用频率 |
4.0.29 | 支持基于AK/SK认证逻辑的摘要签名认证方式 |
4.1 | 支持发布API时直接绑定应用 |
4.1.6.4 | 可在应用中导出 API 说明文档 |
1.2 应用场景
1)用户希望能对多个 API 进行分组管控,在相同分组中,能统一设置认证方式、访问频率、授权有效期。
2)运维 API 时,能通过分组维度,查看该分组下 API 信息、调用记录。
1.3 功能简介
1)FineDataLink 支持在创建 API 时和创建后绑定其至对应的应用中,可在应用中为多个 API 统一设置认证方式、访问频率、授权有效期。如下图所示:
设置认证方式可保证发布的 API 接口在被外部系统调用时更安全。
2)多个 API 绑定相同应用,相当于让多个 API 拥有了被访问的统一父路径。
数据服务发布的 API 访问地址为:FDL服务器地址+/service/publish/应用ID+APIPath
API 地址示例:https://demo.finedatalink.com/service/publish/673d189b-ce05-4029-912a-2e68a72da6c3/wendang
应用ID | APIPath |
---|---|
每个应用有唯一的 ID(AppId,用于唯一标识应用)和认证信息(AppCode 认证码) | ![]() |
3)应用与 API 是多对多的对应关系,同一个 API 可以存在于多个应用中;同一个应用中也可以有多个 API。
4)API 的上下线状态与绑定状态互不影响,如果应用绑定了一个下线的 API,调用该 API 时,会提示 API 未上线。
2. 用户需知
1)由于当前发布 API 的 Token-APPCode 是直接在请求中传递的,为增强安全性,建议用户使用 HTTPS 部署 FineDataLink。
非超级管理员用户想要使用该功能需要为用户分配 数据服务管理权限、数据服务应用管理权限
2)数据服务发布的 API 若想被调用成功,必须绑定应用。绑定应用方式:
方式一:参考本文内容,新建应用/修改应用,绑定已设置好的 API 。
方式二:数据服务中创建 API 时,在 API信息 步骤中,绑定已有应用。
3. 创建应用、绑定API
3.1 新建应用
点击「数据服务>应用列表」,选中某个文件夹,新建应用。如下图所示:
3.2 设置应用
可设置应用名称、应用描述、应用认证方式。如下图所示:
3.2.1 应用ID、应用名称、应用描述
应用ID:新建应用时,提示应用ID将在应用保存后自动生成;修改应用时,可以查看当前生效的应用ID。
应用名称:定义应用名称;必填,默认为空。
应用描述:定义应用的详细描述,可为空、
3.2.2 应用认证方式
支持三种认证方式:无认证、AppCode、摘要签名。
注:若在应用中设置了应用认证方式 ,则应用下的所有 API 都需要使用该鉴权方式。
无认证:
调用 API 时不需要传入认证信息。
AppCode:
1)选择 AppCode 认证方式后,将展示 AppCode 值。
2)支持点击「重置」按钮重置 AppCode,点击「重置」按钮后,将自动检查当前用户是否有权管理应用下所有的 API ,如果无权限则报错提示存在已绑定但是无权限的 API,需要有应用下所有 API 的权限才能重置 AppCode。
权限检查成功后,提示 AppCode 将在应用保存后重新生成,保存后生效,编辑页面未保存则不做重置。
3)调用 API 时:
需要在请求头中指定 Authorization 请求头的值为:AppCode + 空格 + APPCode值。
AppCode 值示例:AppCode 35f3c79e-08e2-4f6f-8eed-60f40f5ca4db
示例参考:
使用数据服务发布的API(POST application/json请求)
使用数据服务发布的API(POST x-www-form-urlencoded请求)
摘要签名:
当应用认证配置为「摘要签名」时,下方会显示 AppSecret ,摘要签名认证方式说明详情参见:摘要签名认证方式
3.2.3 绑定 API
用户只能查看、绑定、管理自己有权限的 API。
数据服务发布的 API 若想调用成功,必须绑定应用。
应用与 API 是多对多的对应关系,同一个 API 可以存在于多个应用中;同一个应用中也可以有多个 API。
单个 API 修改授权有效期/访问频率、解绑:
设置项 | 说明 |
---|---|
修改授权有效期 | 指定授权有效期步骤:
|
修改访问频率 | 修改访问频率步骤: 自定义频率时,次数默认为 100,范围为1~1000000,单位可选择分钟/小时/天 指定访问频率后,若 API 访问频率超限,接口将返回超限报错提示 |
解绑 | 点击「解绑」按钮,该 API 即可不绑定此应用 |
批量修改授权有效期/访问频率、批量解绑:
勾选已绑定的 API,点击「批量设置」,可以对 API 的认证方式授权有效期进行设置,同时可设置 API 被访问的频率,如下图所示:
3.3 查看应用
应用设置完成保存后,可以查看到当前应用的认证方式是否启用、认证、应用ID、已经绑定的 API 等信息。如下图所示:
基本信息说明:
项目 | 说明 |
---|---|
应用ID | 展示应用ID 应用ID是应用的唯一标记,用于和 API 路径一同形成最终可被访问的 URL |
应用名称 | 展示应用名称 |
描述 | 展示应用的详细描述 |
创建人 | 应用的创建人 |
创建时间 | 应用的创建时间 |
认证方式 | 展示认证方式
|
已绑定API | 展示应用下已绑定的 API 列表 包含 API 名称、API 状态、API 路径、API 目录、API 描述、API 授权有效期、API 访问频率 支持直接复制 API 路径 |
3.4 特殊情况说明
场景 | 说明 |
---|---|
用户没有应用权限,但有某个 API 管理权限 | 用户可以正常编辑有权限的 API ,或者在有权限的文件夹下新增 API,但是无法将 API 绑定给无权限的应用 |
用户没有特定 API 管理权限,但是有特定应用管理权限 | 用户可以正常编辑有权限的应用,或者在有权限的文件夹下新增应用,但是无法将应用与无权限的 API 绑定 |
平台内有 a,b,c,d 四个 API 和「应用1」一个应用 A 用户拥有 a,b 两个 API 的权限和应用1权限 B 用户拥有 a,b,c 三个 API 的权限和应用1权限 管理员将 a,b,c,d 四个 API 绑定到了应用 1 | A在应用1中,可以看到和编辑a,b;可以编辑a,b的绑定情况;无法重置应用1的AppCode;无法删除应用1 B在应用1中,可以看到和编辑a,b,c;可以编辑a,b,c的绑定情况;无法重置应用1的AppCode;无法删除应用1 如果想要删除应用1,需要有所有API的管理权限,再进行操作 如果想要重置应用1的AppCode,需要拥有应用下所有已绑定的API的管理权限 |
4. 管理应用
应用列表中仅展示当前用户有管理权限的文件夹、应用。
1)应用可在文件夹中进行管理。如下图所示:
2)可对应用做重命名、移动、删除操作。如下图所示:
当应用绑定着当前用户无管理权限的 API ,即使有应用管理权限,也不允许删除应用,删除时提示告知无法删除。
当应用绑定的 API 当前用户都有管理权限,且用户有应用管理权限,允许其删除应用。
3)支持编辑应用。如下图所示:
5. 导出 API 文档
4.1.6.4 及之后版本,支持导出 API 文档。
5.1 应用场景
API 开发完成后,需要将 API 说明文档提供给调用者,供调用者查看。
5.2 功能说明
如果用户有该应用的管理权限,可以点击「导出API文档」按钮,导出该应用下所有上线API的说明文档,文档格式为 Word 。如下图所示:
在线文档包含的内容如下:
展示项 | 说明 |
---|---|
目录树 | 展示目录结构 |
应用信息 | 表格形式展示应用信息:
|
API信息 | 展示该应用下所有上线API的信息
|
错误码汇总 | 错误码信息 错误返回内容 |