Java版SDK&DEMO
第一步:创建应用及相关权限申请
请先阅读快速接入模块,开展相关环节。
第二步:下载SDK和DEMO
SDK获取
开发语言 | 资源下载 | 环境要求 |
---|---|---|
Java | SDK | 适用于Java语言、jdk版本1.7以上的环境 |
DEMO获取
开发语言 | 资源下载 | 开发平台 |
---|---|---|
Java | DEMO | Windows |
Java | DEMO | Mac |
第三步:DEMO试用
DEMO服务的首页地址为: http://demo.cn/appdoc/index.html模拟应用中心调起服务的首页地址为: http://demo.cn/appdocdemo
开放平台官网应用基本设置: 填入已申请的APPID和APPKEY IP白名单: 贵公司出口IP 域名白名单:demo.cn 回调地址:调用DEMO服务的地址,即 http://demo.cn/appdoc/index.html
本地配置: 在本地测试运行DEMO需要设置hosts文件 127.0.0.1 demo.cn
注意: 开放平台官网设置的服务回调地址应与DEMO服务地址一致 若修改回调地址,请同时修改本地hosts、域名白名单以及appdocdemo/js/appdocindex.js中的redirect_uri回调地址
以Windows为例:
1.解压压缩包,进入demo-appdoc下的exec目录,试用DEMO所需的文件都放在这里: nginx-1.15.5为nginx启动及配置目录 server.jar为打包好的DEMO服务 application.Properties为jar包的配置文件 appdocdemo模拟了应用中心,旨在调起DEMO首页
2.需要在Application.properites文件中填写已申请的appId和appKey; 3.需要在appdocdemo/js/appdocindex.js中填写已申请的appId,并查看redirect_uri回调地址是否与官网设置一致; 4.需要在nginx-1.15.5文件夹下的nginx.conf中配置nginx访问根路径,将C:/demo-appdoc/exec修改为当前exec目录; 5.在nginx-1.15.5文件夹下,运行nginx.exe启动nginx; 6.在当前目录下打开shell环境,输入java -jar server.jar启动DEMO服务; 7.在浏览器上输入 [http://demo.cn/appdocdemo](http://demo.cn/appdocdemo) 进入首页,如图所示:![image](/projects/wps-doc/dfd4c048ed8ea4efca030c2f9ea86b58.png) **Mac版的使用方式除了更换适应平台的nginx外,其余步骤基本一致,详情请参考压缩包中的使用指南。如若不能正常运行,请联系open@wps.cn.**
注意: 若要测试自己开发的DEMO,需要在appdocdemo/js/appdocindex.js文件openAppDocAPP方法中修改redirect_uri为自己在官网提交的回调地址。
第四步:应用开发
该模块将介绍demo的集成和涉及的SDK接口调用详解,可参考该部分打造属于您自己的应用,剖析如下:
集成开发环境
进入压缩包的的源码文件夹,用IntelliJ IDEA开发工具导入OpenAppDoc文件夹下代码即可。其中: 1. Gradle版本用gradle-2.2.1及以上版本,JDK使用JDK1.7及以上版本, 2. 依赖Jar包opensdk-1.0.jar在工程的libs目录下,导入工程时会自动导入, 3. Demo前端代码在src\main\resources\static\appdoc目录下,前端代码建议使用JetBrains WebStorm导入后再编辑, 4. 在application.properties中配置好server.port、appid、appkey、spring.http.multipart.maxFileSize以及spring.http.multipart.maxRequestSize参数, 5. 在Application.java文件中启动工程, 6. 控制台出现类似如下信息表示工程启动成功:Started Application in 3.489 seconds (JVM running for 4.135)。
DEMO中涉及到的API接口皆已在SDK中封装完成,详细的调用方式请参考以下SDK接口说明。
SDK相关接口调用
注意: 在调用SDK的文件管理相关接口前,需要先配置SDK的应用信息:
public static void setConfig(String appid, String appKey);
参数说明
参数 | 参数类型 | 说明 |
---|---|---|
appid | string | 应用唯一标识 |
appKey | string | 应用秘钥 |
调用方式:Config.setConfig(appId, appKey);
SDK接口说明如下:
1, 获取APP剩余空间2, 获取文件列表3, 创建文件夹4, 上传文件5, 获取分享文件链接6, 获取文件下载链接7, 文件重命名8, 文件复制9, 文件移动10, 文件删除
1, 获取APP剩余空间
public static RemainingSpace getRemainingSpace(String access_token);
参数说明
参数 | 参数类型 | 说明 |
---|---|---|
access_token | string | access_token |
调用方式:RemainingSpace remainingSpace = YunFile.getRemainingSpace(accessToken);
2, 获取文件列表
public static FileList getAppFileList(String access_token, long parentId, String order, String orderby, String offset, String count);
参数说明
参数 | 参数类型 | 说明 |
---|---|---|
access_token | string | access_token |
parentid | int64 | 文件夹所在父目录 |
order | string | 排序规则(ASC/DESC) 传null 默认为DESC |
orderby | string | 排序依据内容(fname/mtime) 传null 默认为mtime |
offset | string | 获取文件的初始值,传null 默认为0 |
count | string | 获取文件数量,传null 默认为30 |
调用方式:FileList fileList = YunFile.getAppFileList(accessToken, parentId, order, orderBy, offset, count);
3, 创建文件夹
public static CreateFolder createFolder(String access_token, long parentid, String name);
参数说明
参数 | 参数类型 | 说明 |
---|---|---|
access_token | string | access_token |
parentid | int64 | 文件夹所在父目录 |
name | string | 文件夹名 |
调用方式:CreateFolder createFolder = YunFile.createFolder(accessToken, parentId, name);
4, 上传文件
public static FileInfo uploadFile(String access_token, long parentid, File file);
参数说明
参数 | 参数类型 | 说明 |
---|---|---|
access_token | string | access_token |
parentid | int64 | 文件夹所在父目录 |
file | File | 文件 |
调用方式:FileInfo fileInfo =YunFile.uploadFile(accessToken, parentId, file);
5, 获取分享文件链接
public static LinkInfo getFileLinkInfo(String access_token, long fileid);
参数说明
参数 | 参数类型 | 说明 |
---|---|---|
access_token | string | access_token |
fileid | int64 | 文件id |
调用方式:LinkInfo linkInfo = YunFile.getFileLinkInfo(accessToken, fileId);
6, 获取文件下载链接
public static FileDownloadUrl getFileDownloadUrl(String access_token, long fileid);
参数说明
参数 | 参数类型 | 说明 |
---|---|---|
access_token | string | access_token |
fileid | int64 | 文件id |
调用方式:FileDownloadUrl fileDownloadUrl = YunFile.getFileDownloadUrl(accessToken, fileId);
7, 文件重命名
public static FileRename fileRename(String access_token, long fileid, String newname);
参数说明
参数 | 参数类型 | 说明 |
---|---|---|
access_token | string | access_token |
fileid | int64 | 文件id |
newname | string | 新的文件名 |
调用方式:FileRename fileRename = YunFile.fileRename(accessToken, fileId, newName);
8, 文件复制
public static FileCopyInApp fileCopyInApp(String access_token, String fileids, long fromparentid, long toparentid);
参数说明
参数 | 参数类型 | 说明 |
---|---|---|
access_token | string | access_token |
fileids | string | 文件id列表,用,分隔 |
fromparentid | int64 | 源目录id |
toparentid | int64 | 目标目录id |
调用方式:FileCopyInApp fileCopyInApp = YunFile.fileCopyInApp(accessToken, fileIds, fromParentId, toParentId);
9, 文件移动
public static FileMoveInApp fileMoveInApp(String access_token, String fileids, long fromparentid, long toparentid);
参数说明
参数 | 参数类型 | 说明 |
---|---|---|
access_token | string | access_token |
fileids | string | 文件id列表,用,分隔 |
fromparentid | int64 | 源目录id |
toparentid | int64 | 目标目录id |
调用方式:FileMoveInApp fileMoveInApp = YunFile.fileMoveInApp(accessToken, fileIds, fromParentId, toParentId);
10, 文件删除
public static FileDelete fileDelete(String access_token, String fileids, long parentid);
参数说明
参数 | 参数类型 | 说明 |
---|---|---|
access_token | string | access_token |
fileids | string | 文件id列表,用,分隔 |
parentid | int64 | 文件夹所在父目录 |
调用方式:FileDelete fileDelete = YunFile.fileDelete(accessToken, fileIds, parentId);
有任何疑问,请加入QQ群: 732130805 或者联系open@wps.cn获取帮助。