最近开始思考文件备份的问题,主要是网站的资源备份,然后想起了百度网盘的开放平台,于是搞了个程序,上传指定文件夹到百度网盘

申请接入

百度网盘开放平台网址https://pan.baidu.com/union
申请接入点击后会让你选择个人接入还是公司接入,我选择的是个人接入。
然后创建应用,记录下应用的AppKeySecretKey

开发程序

本人已经搞好了,下载链接https://pan.baidu.com/s/1N4_NNcmP9cx_q7UpRuxU1g?pwd=vuo7
一共两个,分别是linux/amd64linux/arm64环境下的可执行文件

如何使用

在程序所在目录创建config.yml文件,填入相关配置,然后执行程序,首次执行会输出一个二维码,百度网盘app扫描授权一下即可。
配置参考如下

参数名含义
appkey申请接入时记录的AppKey
secretkey申请接入时记录的SecretKey
newdiskDirectory上传到网盘的文件夹名,位于我的应用数据文件夹下
uploadPath本机上传文件夹路径
accessToken访问令牌,不用填
expiresIn访问令牌过期时间戳,不用填
refreshToken更新令牌,不用填

示例如下

appkey: xxx
secretkey: xxx
newdiskDirectory: xxx
uploadPath: /xxxx/xxxx

吐槽及坑

1、百度网盘开放平台提供的sdk竟然报错,很久不更新了吧。
2、有的错误码我找不到解释。
3、上传文件夹上传的md5不是空而是文件夹名字的md5。