1、附件:安徽基础教育信息化应用平台开放 API 接口规范(试行)安徽省教育厅二一五年九月目 录前 言 .11. 范围 .12. 术语、定义和缩略语 .23. 开放平台技术架构 .34. 应用接入服务 .44.1 OAuth2.0 简介 .44.2 接入流程 .64.3 API 使用规范 .85. 应用 API 调用 .95.1 获取 API 调用 Token.105.2 刷新 Token.105.3 应用接口调用 .115.3.1 公共参数 .115.3.2 接口参数 .115.3.3 示例 .116. 统一身份认证 .126.1 概述 .126.2 单点登录原理 .136.3 Java 语言配
2、置参考 .146.4 其他语言集成说明 .176.4.1 php 语言配置参考 .176.4.2 C# 语言配置参考 .187. 应用集成建议 .217.1 已有应用系统接入 .217.2 新建应用系统 .238. 接口参考 .248.1 基础数据服务 .248.1.1 验证用户密码 .248.1.2 获取用户详细信息 .248.1.3 用户登录 .268.1.4 获取教师用户信息 .278.1.5 获取班级成员列表 .278.1.6 获取用户学科学段及头像信息 .288.1.7 获取用户所在的班级列表 .298.1.8 获取班级基本信息 .298.1.9 获取学校班级列表 .318.1.10
3、 获取教师教授学科列表 .318.1.11 获取学校详细信息 .328.1.12 获取省份列表 .338.1.13 获取城市列表 .358.1.14 获取区县列表 .368.1.15 根据区域 id 获取区域信息 .378.1.16 根据区编码获取区域信息 .388.2 数字教育资源服务 .388.2.1 资源元数据规范 .398.2.2 数字教育资源服务接口 .398.3 个人空间服务 .508.3.1 空间基础服务 .508.3.2 教师工作室 .548.3.3 网盘存储空间 .578.4 监管服务 .658.4.1 监管数据上报接口 .651前 言安徽基础教育信息化应用平台(包括安徽基础
4、教育应用平台和安徽教育管理公共平台)遵循“统筹规划、统一建 设、 标准开放”的原则,在物理上统一建立一个数据中心,建成覆盖全省、稳定可靠、先进适用的基础教育信息化应用平台,面向各类资源及应用提供统一身份认证,共享数据及安全认证等基础服务,形成资源及应用汇聚共享的开放平台发展模式。为确保各类资源及教育应用的正确接入和应用扩展,真正达到应用以及资源、数据的共建共享,消除信息孤岛,制定安徽基础教育信息化应用平台开放 API 接口规范是非常有必要的。通 过规范的制定和执行,对 外统一资源标准、接口和统一认证,为教育资源和信息建立统一索引,在整个安徽基础教育信息化应用平台建立一个标准的信息通道,让优质的
5、教育资源和信息可以在各类应用之间真正流动起来,各级师生及教育工作者在享受优质教育资源的同时,也可方便的进行沟通和交流,充分发挥“ 云”的优势,促进教育教学和管理创新,推进教育均衡,提高整体教育质量,支撑教育信息化可持续发展。1. 范围本标准规定了安徽基础教育信息化应用平台在技术角度资源、数据、应用等方面的集成方法,包括总体技术架构、应用接入服务、统一身份认证以及相关的服务接口参考。本标准适用于各类教育资源、应用在接入基础教育信息化应用平2台时参考使用。2. 术语、定义和缩略语接口 interface两个功能单元之间的共享边界,该边界由两个功能单元的功能特性、物理互连特性、信号交换特性及其他适当
6、特性定义。面向服务架构 service-oriented architecture(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以使用一种统一和通用的方式进行交互。服务 ServiceSOA 的逻辑组成单元。一个服 务就是一个代码模块,由可通过基于标准的接口访问的服务水平协议管理。每个服务表示一部分功能,明确地映射业务流程中的一个步骤。服务可以被其他服务或其他程序利用。RESTfulREST 的全称是 Repre
7、sentation State Transfer,它描述了一种设计 Web 应用的架构风 格,它是一 组架构约束条件和原则,满足这些约束条件和原则的应用程序或设计就是 RESTful 风格的。而符合RESTful 风格的 Web Services,就是我们所说的 RESTful Web Services。3单点登录 Single Sign On(SSO)一种身份管理方法,是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,在通过统一的安全验证后,再访问其他应用中的受保护资源时,不再需要重新登录验证。UGC 数据全称为 User Generated Content,也就是用户生成
8、内容的意思。UGC 的概念最早起源于互 联网领域,即用户 将自己原创的内容通过互联网平台进行展示或者提供给其他用户。UGC 是伴随着以提倡个性化为主要特点的 Web2.0 概念兴起的。元数据 Metadata关于数据的数据。应用程序编程接口 Application Programming Interface(API)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力。SDKSDK(Software Development Kit, 即软件开发工具包 )一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。3.
9、 开放平台技术架构安徽省基础教育信息化应用平台作为综合性开放服务平台,需要针对各类资源及教育应用接入提供统一标准,具体如下图所示。4开放平台服务框架图安徽省基础教育信息化应用平台采用面向服务的体系架构,通过业务服务的方式来向其他资源及教育应用提供教育信息共享互联互通的各项基本功能。在平台公共支撑服务的基础上,将部分基础数据、个人空间、数字教育资源等通过开放平台架构以服务形式对外提供,各类资源及教育应用在授权范围内进行接入和集成,平台对资源及应用的调用进行监管,从而达到资源汇聚共享、空间贯通、管理监管的目的。4. 应用接入服务5. OAuth2.0简介OAuth2.0 原理5安徽基础教育信息化应
10、用平台开放服务采用 OAuth2.0 协议对接口进行授权访问,OAuth 在“客户端“ 与“服务提供商“之间,设置了一个授权层(Authorization Layer)。“客户端“ 不能直接登 录“服务提供商“,只能登录授权层,以此将用 户与客户端区分开来。 “客户端“登录授权层所用的令牌(Token ),与用户的密码不同。用 户可以在登录的时候,指定授权层令牌的权限范围和有效期。“客户端“登录授权层以后,“服务提供商“根据令牌的 权限范围和有效期,向“ 客户端“ 开放用 户储存的资料。OAuth2.0 基本流程详请参考:https:/tools.ietf.org/html/rfc674966. 接入流程应用接入流程图 应用提供方提交接入相关资料,审核通过后,平台为第三方应用分配 APP_NAME 和 APP_SECRET。注意:APP_NAME 与APP_SECRET 请妥善保管,防止泄露被非法盗用。 附:应用接入申请表: