admin管理员组文章数量:1583042
最近在Fedora34上跑官方的百度网盘老是工作不正常,看到百度网盘开放有API,于是自己写了一个基于java的百度客户端: https://github/Li-Xiang/jbaidunetdisk/releases/
程序支持字符用户交互界面,也支持命令行方式执行,可以方便通过脚本或后台方式执行。用户交互执行效果如下:
程序开发说明:
jbaidunetdisk调用的是百度开放平台提供的接口,是通过Apache Http Client库进行的调用。
要使用百度网盘的开放平台,首先需要申请接入(申请一个app),申请过程非常简单,打开https://pan.baidu/union/,点击右上角的"申请接入"按钮即可。接入类型选择"个人"。
在官方的"技术文档" -> “开发者须知” ->“接入流程” 有详细说明: https://pan.baidu/union/doc/0ksg0sbig
百度开放平台的授权方式采用的是OAuth2.0(开放授权), 访问授权是跟app关联的,首先根据AppKey,请求一个百度授权页面。请求格式是固定的,只需要client_id填入你的AppKey信息即可。
http://openapi.baidu/oauth/2.0/authorize?response_type=code&client_id=your_app_key&redirect_uri=oob&scope=basic,netdisk
浏览器打开授权URL,用户登录后确认后会获得授权码:
根据授权码就可以换取access_token和refresh_token:
{
"expires_in": 2592000,
"refresh_token": "122.128d42206face25fdb7f...L-ww.mqq94w",
"access_token": "121.827379bdccf1fb019c36...-OCo8.cgd4yw",
"session_secret": "",
"session_key": "",
"scope": "basic netdisk"
}
access_token的有效期是2592000秒,也就是30天,30天内你可以直接通过获取的access_token访问百度云盘,access_token过期之后,也不需要重新请求授权,只需要使用refresh_token刷新access_token,access_token又可以接续使用了,refresh_token有效期是10年,也就是获取授权后,10年内都不需要重新获取授权。剩下的就是通过Http Get/Post调用百度开放平台的接口。
版权声明:本文标题:百度网盘客户端(java)版本 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1727902817a1137081.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论