目标应用系统对接
目标应用系统对接
说明
1.公共参数:

<sitename>:表示数据分享平台域名,即fs.nje.cn

2.名词解释:
UIA:统一身份认证平台。 数据分享平台:能够实现将用户在文件存储系统的文件分享到目标应用系统,并能提供文件共享服务的平台。 目标应用系统:又称第三方应用系统,主要指可以获取分享文件的各种应用系统。 数据分享平台:能够实现将用户在文件存储系统的文件分享到目标应用系统,并能提供文件共享服务的平台。
3.使用场景:

目标应用系统A,假设A为公众平台,U为该平台用户。 文件存储系统B,U为该系统用户,在系统中存储了PPT、视频等案例。 U在A平台中想上传某ppt分享给其他用户观看,而此ppt已经上传于B系统。如果A、B系统均和数据分享平台对了对接。则P可以由A系统进行分享文件至B系统。

对接流程
1.文件分享:
文件分享流程。
2.目标应用系统申请:
目标应用系统申请流程。
接口
1. 申请成为开发者:
2. 目标应用系统申请:
3. 目标应用系统开发文件分享页面:
请求参数:AppCode,EncrytString,TimeSpan,FileName,FileUrl,FileSize,FileType,ShareType,ShareFileRecordID,ShareUserName
名称 格式 是否可空 是否编码 说明
AppCode String 该目标应用系统申请的应用程序编号
EncrytString String AppKey+ TimeSpan在进行MD5加密后的字符串(转换后字母都为小写),AppKey为该目标应用系统申请的密钥)
TimeSpan String 时间参数(时间戳)。时间验证与服务器时间误差不得超过5分钟(300秒),以北京时间为准。
FileName String 文件名称
FileUrl String 文件地址
FileSize String 文件大小
ShareType String 分享类型:1 分类 2 资源
FileType String 文件类型
ShareFileRecordID String 分享记录编号
ShareUserName String 分享用户名
4. 页面效果示例:
a):已对接UIA分享至目标应用系统【分享给自己】
b):已对接UIA分享至目标应用系统【分享给管理员】
c):已对接UIA分享至目标应用系统【分享给指定用户】
d):未对接UIA目标应用系统分享页面
5. 页面说明:
该页面由数据分享平台调用,调用时传入参数,分享页面根据传入的参数完成分享操作。 目标应用系统申请时可以设置是否已对接统一身份认证平台。 目标应用系统申请时,如果目标应用系统为已对接统一身份认证平台的系统,则ShareUserName字段有值,否则为空。已对接统一身份认证目标应用系统,可根据传入的用户名完成登录操作。未对接系统则需要在分享页面中加入身份认证逻辑。 ShareToUserNames是分享到用户的集合,用户名是以英文逗号分割。 分享成功后,需要调用数据分享平台”更新分享记录状态”方法,更新分享记录在数据分享平台中状态。 涉及算法见【接口相关算法】 参数编码见【编码】
6. 更新分享记录状态:
调用地址:/Share/UpdateShareStatus
请求参数:AppCode, EncrytString , TimeSpan ,ShareFileRecordID,ShareToUserNames
名称 格式 是否可空 是否编码 说明
AppCode String 该目标应用系统申请的应用程序编号
EncrytString String AppKey+ TimeSpan在进行MD5加密后的字符串(转换后字母都为小写),AppKey为该目标应用系统申请的密钥)
TimeSpan String 时间参数(时间戳)。时间验证与服务器时间误差不得超过5分钟(300秒),以北京时间为准。
ShareFileRecordID String 分享记录编号
ShareToUserNames String 分享给这些用户名,用户名与用户名使用英文“,”分割。

返回结果:若验证不通过,则返回结果在页面上以文字形式显示。例如:
文字 说明
验证参数错误 缺少参数(未提供非空项参数或者不能为空的参数传了空值)
应用程序编码错误 应用程序编码错误
应用程序密钥错误 应用程序密钥错误(所提供的应用程序密钥与数据分享平台中的密钥不一致)
请求超时 请求超时(5分钟以内)
更新成功 分享文件记录更新成功
更新失败 分享文件记录更新失败
该分享文件记录不存在 分享文件记录不存在
非法操作 无权限使用文件存储服务
接口相关算法(c#)
1. MD5
2. 时间戳
如:当前时间:2013/9/26 16:07:49 时间戳:1380182865
编码
JS : var fileName = escape(“admin”);
c#: var userName = System.Web.HttpContext.Current.Server.UrlEncode("admin");
目标应用系统对接: Demo