admin管理员组

文章数量:1582936

源码地址: GitHub - zhonghang1993/baidu-netdisk: 百度企业网盘SDK

前言

【全网首发】最好用的百度企业网盘SDK,开箱即用。

  • 支持多个企业网盘同时管理

一、使用例子

  • 例子1:Spring boot项目【推荐】
  • 例子2:spring项目

1-1 Spring boot项目


1-1-1 引入spring boot自动装配依赖

<dependency>
    <groupId>io.github.zhonghang1993</groupId>
    <artifactId>baidu-netdisk-cp-spring-boot-starter</artifactId>
    <version>1.7.1</version>
</dependency>

1-1-2 配置文件

# appId
baidudisk.cp.disk.app-id=
# appName
baidudisk.cp.disk.app-name=
# appKey
baidudisk.cp.disk.app-key=
# secretKey
baidudisk.cp.disk.secret-key=
# signKey
baidudisk.cp.disk.sign-key=
# 授权回调地址
baidudisk.cp.disk.redirect-uri=
#【重点】如果不配置,则默认存储在内存中。配置实现StorageDaoI接口的类全量路径名;查看下文《元数据存储扩展性》
baidudisk.cp.disk.storage-rule=com.XX.XX.XX.service.impl.RedisStorage

# 上传文件的路径前缀
baidudisk.cp.disk.file-prefix=/bbs
# 分片大小(单位M),最大限制:普通用户4M,普通会员16M,超级会员32M
baidudisk.cp.disk.unit=32

1-1-3 使用

@Autowired
private BaiduNetDisk baiduNetDisk;

 1-2 Spring 项目(ssm、ssh)

 1-2-1 引入依赖

<dependency>
    <groupId>io.github.zhonghang1993</groupId>
    <artifactId>baidu-netdisk</artifactId>
    <version>1.7.1</version>
</dependency>

 1-2-2 构建

BaiduConfig baiduConfig = new BaiduConfig(appId,appName,appKey,secretKey,singKey,redirectUri,filePrefix,unit);
//【拿到操作所有接口的类】没有传自定义实现StorageDaoI,则使用默认的存储规则
BaiduNetDisk baiduNetDisk = new BaiduNetDisk(baiduConfig);
//BaiduNetDisk baiduNetDisk = new BaiduNetDisk(baiduConfig,storageDaoI);

 二、 调用说明

 2-1 service说明

//获取accessToken的类,获取二维码扫码地址、通过code鉴权
baiduNetDisk.getAccessTokenService();
//获取文件管理的类,文件的移动、拷贝、删除、列表搜索、文件详情、下载地址...
baiduNetDisk.getFileService();
//分片上传文件
baiduNetDisk.getSuperFileService();
//获取当前授权账号的企业信息
baiduNetDisk.getOrganizationInfoService();

//你基本上用不上,请求接口时,计算签名用的
baiduNetDisk.getStsService();

 2-2 单网盘管理,多网盘管理说明

  • 管理单个用户网盘,使用default开头的
    • baiduNetDisk.getAccessTokenService().default***();
    • baiduNetDisk.getFileService().default***();
  • 管理多个用户的网盘,则使用
    • baiduNetDisk.getFileService().***(*** ,Long cid);

cid是什么?cid每个授权用户的网盘唯一ID(企业空间ID),在获取公司信息中有。所以每次操作传cid即可


 三、元数据存储扩展性

  • 目前SDK给的默认规则是存储在内存中的,所以不建议生产使用
  • 想把token存储在内存、存储在文件、存储在redis、存储数据库......?

实现抽象类 StorageDaoI 即可

3-1 示例:使用redis存储

请点击看模块中demo示例

  • 分布式系统、或者集群建议存储在redis中

 四、常见问题

 4-1 如何同时管理多个用户的授权空间?

目前你就new多个BaiduNetDisk,虽然不优雅,但是可以解决问题。 ~~正在重构中~~

 4-2 【解绑】如何清空授权信息?

//清除指定企业网盘
storageDaoI.clear(Long cid);


如果你觉得直接设置null无法处理你的业务场景,可以重写clear方法。

 4-3 怎么显示打印日志?

在你的日志配置文件,扫描路径加上com.zhonghang.baidu就可以了

例子:如你使用的是logback.xml配置的:

<logger name="com.zhonghang.baidu" level="DEBUG"/>

本文标签: 企业网SDK