包信息
| 属性 | 值 |
|---|---|
| NuGet 包 | Bitzsoft.Integrations.CloudDrive.Baidu |
| Provider ID | baidu |
| 协议 | 百度网盘开放平台 REST(OAuth 2.0 授权码流) |
配置字段(BaiduOptions)
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
AccessToken | string | 是 | — | OAuth 访问令牌(外部授权后配置) |
RefreshToken | string | 否 | — | OAuth 刷新令牌 |
AppKey | string | 是 | — | 应用 App Key |
SecretKey | string | 是 | — | 应用 Secret Key |
AppName | string | 是 | — | 应用名称(路径前缀 /apps/{appName}/) |
BaseUrl | string | 否 | https://pan.baidu.com/rest/2.0/ | API 基地址 |
UploadBaseUrl | string | 否 | https://d.pcs.baidu.com/rest/2.0/pcs/superfile2 | 分块上传地址 |
TokenEndpoint | string | 否 | https://openapi.baidu.com/oauth/2.0/token | 令牌端点 |
HttpClientName | string | 否 | BaiduCloudDrive | 命名 HttpClient |
LargeFileThreshold | long | 否 | 4MB | 大文件分块阈值 |
ChunkSize | int | 否 | 4MB | 分块大小(最大 256 MB) |
配置示例
{ "CloudDrive": { "Baidu": { "AccessToken": "your-access-token", "RefreshToken": "your-refresh-token", "AppKey": "your-app-key", "SecretKey": "your-secret-key", "AppName": "my-app" } }}DI 注册
builder.Services.AddBitzsoftBaiduCloudDrive(builder.Configuration.GetSection("CloudDrive:Baidu"));使用示例
public class BaiduService(ICloudDriveProvider drive){ public async Task<Stream> DownloadAsync(string fileId) { return await drive.DownloadAsync(fileId); }}已知限制
- 百度网盘要求文件路径必须以
/apps/{AppName}/开头,AppName必填。 - 分块上传默认 4 MB/块,百度要求每块不超过 256 MB。
- 服务端场景下需通过外部完成 OAuth 授权码流后直接配置
AccessToken。