百度网盘要开通才能用吗 (tvbox接入百度网盘)

什么是百度网盘开放平台

简单来说,就是百度官方提供一系列的api让开发者调用来实现一系列的功能,比如文件管理,上传*载下**,分享等。所以这个开放平台主要是针对开发者的。

为什么要提供开放平台

百度网盘客户端的功能已经满足了大部分用户的需求,但并不能满足所有场景,比如文件上传前自动加密,文件的自动分享,自动分类,各种批量操作等等。通过提供开放平台/openapi,开发者可以开发出定制化程度更高,功能更加强大,自动化程度更高的应用(俗称第三方),弥补官方客户端的一些短板。现在很多应用都愿意提供openapi,一方面有利于构建应用生态,另一方面也可以减少一部分官方客户端的开发压力。阿里云盘的openapi目前还在测试阶段,申请及使用条件都比较苛刻,暂时不建议大家申请。

百度网盘开放平台接入

接入也比较简单,其实就是创建一个开发者应用,下面我就带大家操作一下。

首页:https://pan.baidu.com/union

百度网盘开放平台接入,百度网盘开放平台创建应用

百度网盘开放平台接入,百度网盘开放平台创建应用

百度网盘开放平台接入,百度网盘开放平台创建应用

百度网盘开放平台接入,百度网盘开放平台创建应用

百度网盘开放平台接入,百度网盘开放平台创建应用

百度网盘开放平台接入,百度网盘开放平台创建应用

百度网盘开放平台接入,百度网盘开放平台创建应用

百度网盘开放平台接入,百度网盘开放平台创建应用

至此,应用就创建成功了,但是还不能实际使用。在使用前,我们要首先理解下开放平台应用与百度网盘之间的关系。虽然我们的百度网盘账号,开放平台账号都是使用的百度账号登录的,但是这是两个百度应用,他们之间并没有直接的关联;我们登录开放平台认证成为个人开发者,创建应用是为了开发软件管理百度网盘,并不限于我们自己的网盘,可以管理任何授权给我们的百度网盘,他们的关系可以用下图表示。

百度网盘开放平台接入,百度网盘开放平台创建应用

没错,开发者如果想用创建的应用管理自己的网盘,也必须像其他人的网盘一样走授权流程。

百度网盘授权给开放平台应用

应用创建成功后,可以进入应用详情页进行安全设置

百度网盘开放平台接入,百度网盘开放平台创建应用

百度网盘开放平台接入,百度网盘开放平台创建应用

百度网盘开放平台接入,百度网盘开放平台创建应用

要想明白为什么要设置授权回调地址及怎么设置,就要清楚授权流程

文档地址:https://pan.baidu.com/union/doc/al0rwqzzl

百度网盘开放平台接入,百度网盘开放平台创建应用

可以看到,第2步,我们的服务器向百度OAuth服务器请求授权码Code后,百度服务器并没有直接给我们返回,而是到了第5步才给我们返回Code;也就是说,第2和5步是异步的,百度服务器必须根据我们提供的回调地址才能通知我们用户已经同意授权了,所以这个回调地址就是为了处理授权Code,然后请求AccessToken的。知道了原理,我们只需要在服务器设置一个可以处理Code的路由及相应处理逻辑即可, 以下是php示例代码

routes/api.php
Route::get('/baidunetdisk/auth/2.0/callback',[BaiduAuthCallback::class,'getOAuthCode']);



app/Http/Controllers/BaiduAuthCallback.php

public function getOAuthCode(Request $r) {
    $code = $r->input('code');
    (new Auth)->getAccessToken($code);
    return ['result' => 'success','message' => '授权成功'];
}

授权回调地址设置如下

https://baiduopen.12358134.eu.org/baidunetdisk/auth/2.0/callback

总结

上面的处理完,我们就可以着手开发具体的功能了。百度网盘开放平台开放了哪些功能具体可以参考技术文档,这里不再赘述。

技术文档:https://pan.baidu.com/union/doc/nksg0sbfs

需要注意的是,通过openapi管理网盘,仍然会受原授权网盘用户权益的影响,比如A用户不是会员,那么通过openapi*载下**文件,仍然会被限速。

如果你在实践过程遇到什么问题,可以评论留言。