注意: Tag 4.0 以后的版本对接口返回类型和分块上传做了重构, 不兼容以前的版本
- Java 7 或者更高
- 支持 Android 系统
以下配置中的{version}使用最新的JitPack版本:
- Gradle方式
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
} dependencies {
implementation 'com.github.gokuai.yunku-sdk-java:YunkuJavaSDK:{version}'
}- Maven方式
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories> <dependency>
<groupId>com.github.gokuai.yunku-sdk-java</groupId>
<artifactId>YunkuJavaSDK</artifactId>
<version>{version}</version>
</dependency>要使用云库的API,您需要先在 [企业授权][5]中获取 client_id 和 client_secret
初始化配置
import com.yunkuent.sdk.ConfigHelper;
new ConfigHelper()
.apiHost("API地址")
.language("Zh-CN")
.config();
- apiHost: 公有云/混合云用户使用
http://yk3.gokuai.com/m-open, 私有部署用户使用http://{站点域名}/m-open, 可以在浏览器中打开http://{站点域名}/m-open/status检测API服务器是否正常 - language: 多语言环境,
Zh-CN表示中文,En-US表示英文
以下使用到的方法中,如果是string类型的非必要参数,如果是不传,则传null
在 库授权 获取 client_id 和 client_secret
import com.yunkuent.sdk.EntFileManager;
String clientId = "";
String secret = "";
EntFileManager manager = new EntFileManager(clientId, secret);
try {
//文件存放在文件库中的位置, 文件夹会自动创建
String fullpath = "doc/new.docx";
//本地文件路径
String localFile = "D:\\new.docx";
//操作用户的显示名, 用于记录日志
String opName = "user";
FileInfo file = manager.uploadByBlock(fullpath, opName, 0, localFile, true);
//文件流的方式上传
//FileInfo file = manager..uploadByBlock(fullpath, opName, 0, readStream, true);
} catch (YunkuException e) {
System.out.println("upload fail");
e.printStackTrace();
ReturnResult result = e.getReturnResult();
if (result != null) {
if (result.getException() != null) {
//出现网络或IO错误
result.getException().printStackTrace();
} else {
//如果API接口返回异常, 获取最后一次API请求的结果
System.out.println("http response code: " + result.getCode() + ", body: " + result.getBody());
}
}
}
//需要列表的文件夹路径, 根目录传空字符串, 下级文件夹如: "doc/202004"
String path = "";
ReturnResult result = getFileList(path, 0, 100);
System.out.println(result.getBody());
//返回的body需要做json解析
String[] fullpaths = new String[]{"doc/new.docx"};
String opName = "user";
ReturnResult result = manager.del(fullpaths, true, opName);
System.out.println(result.isOK());
//返回的body需要做json解析
String fullpath = "doc/new.docx";
String opName = "user";
ReturnResult result = manager.getDownloadUrlByFullpath(fullpath, opName);
System.out.println(result.getBody());
//返回的body需要做json解析
String fullpath = "doc/new.docx";
//是否显示水印
boolean showWatermark = false;
//水印上显示的用户名
String WatermarkMemberName = "user";
//水印上显示的内容
String watermarkContent = "";
//是否返回缩略图链接
boolean thumbnail = false;
//操作人名称
String opName = "user";
ReturnResult result = manager.getPreviewUrlByFullpath(fullpath, showWatermark, WatermarkMemberName, watermarkContent, thumbnail, opName);
System.out.println(result.getBody());
//返回的body需要做json解析
String fullpath = "doc/new.docx";
//是否显示水印,默认为false
boolean showWatermark = false;
//若开启水印,可自定义水印内容
String watermarkContent = "";
ReturnResult result = manager.getPreviewDownloadUrl(fullpath);
ReturnResult result = manager.getPreviewDownloadUrl(fullpath, showWatermark, watermarkContent);
System.out.println(result.getBody());
//返回的body需要做json解析
import com.yunkuent.sdk.ConfigHelper;
new ConfigHelper()
.apiHost(apiHost)
.config();
- 在引用最新版本的项目时,出现本地代码未能更新
- 将下载到本地的项目缓存文件删除
- 执行clean操作、重新拉取
详细可见 Module YunkuJavaSDKDemo 中 PrintWithLogWithYourEngine.class
DebugConfig.PRINT_LOG = true;
LogPrint.setLogDetector(new DebugConfig.LogDetector() {
@Override
public void getLog(String logtag, String level, String message) {
//在这里添加你需要的 log
}
});
LogPrint.info("LogTag", "Your Log");


