Documentation ¶
Overview ¶
Package baidupcs BaiduPCS RESTful API 工具包
Index ¶
- Constants
- Variables
- func GetHTTPScheme(https bool) (scheme string)
- type BaiduPCS
- func (pcs *BaiduPCS) CloudDlAddTask(sourceURL, savePath string) (taskID int64, pcsError Error)
- func (pcs *BaiduPCS) CloudDlCancelTask(taskID int64) (pcsError Error)
- func (pcs *BaiduPCS) CloudDlDeleteTask(taskID int64) (pcsError Error)
- func (pcs *BaiduPCS) CloudDlListTask() (cl CloudDlTaskList, pcsError Error)
- func (pcs *BaiduPCS) CloudDlQueryTask(taskIDs []int64) (cl CloudDlTaskList, pcsError Error)
- func (pcs *BaiduPCS) Copy(cpmvJSON ...*CpMvJSON) (pcsError Error)
- func (pcs *BaiduPCS) DownloadFile(path string, downloadFunc DownloadFunc) (err error)
- func (pcs *BaiduPCS) DownloadStreamFile(path string, downloadFunc DownloadFunc) (err error)
- func (pcs *BaiduPCS) FilesDirectoriesBatchMeta(paths ...string) (data FileDirectoryList, pcsError Error)
- func (pcs *BaiduPCS) FilesDirectoriesList(path string, options *OrderOptions) (data FileDirectoryList, pcsError Error)
- func (pcs *BaiduPCS) FilesDirectoriesMeta(path string) (data *FileDirectory, pcsError Error)
- func (pcs *BaiduPCS) FilesDirectoriesRecurseList(path string, options *OrderOptions, ...) (data FileDirectoryList, pcsError Error)
- func (pcs *BaiduPCS) Isdir(pcspath string) (isdir bool, pcsError Error)
- func (pcs *BaiduPCS) LocateDownload(pcspath string) (info *URLInfo, pcsError Error)
- func (pcs *BaiduPCS) Mkdir(pcspath string) (pcsError Error)
- func (pcs *BaiduPCS) Move(cpmvJSON ...*CpMvJSON) (pcsError Error)
- func (pcs *BaiduPCS) PrepareCloudDlAddTask(sourceURL, savePath string) (dataReadCloser io.ReadCloser, pcsError Error)
- func (pcs *BaiduPCS) PrepareCloudDlCancelTask(taskID int64) (dataReadCloser io.ReadCloser, pcsError Error)
- func (pcs *BaiduPCS) PrepareCloudDlDeleteTask(taskID int64) (dataReadCloser io.ReadCloser, pcsError Error)
- func (pcs *BaiduPCS) PrepareCloudDlListTask() (dataReadCloser io.ReadCloser, pcsError Error)
- func (pcs *BaiduPCS) PrepareCloudDlQueryTask(taskIDs string) (dataReadCloser io.ReadCloser, pcsError Error)
- func (pcs *BaiduPCS) PrepareCopy(cpmvJSON ...*CpMvJSON) (dataReadCloser io.ReadCloser, pcsError Error)
- func (pcs *BaiduPCS) PrepareFilesDirectoriesBatchMeta(paths ...string) (dataReadCloser io.ReadCloser, pcsError Error)
- func (pcs *BaiduPCS) PrepareFilesDirectoriesList(path string, options *OrderOptions) (dataReadCloser io.ReadCloser, pcsError Error)
- func (pcs *BaiduPCS) PrepareLocateDownload(pcspath string) (dataReadCloser io.ReadCloser, pcsError Error)
- func (pcs *BaiduPCS) PrepareMkdir(pcspath string) (dataReadCloser io.ReadCloser, pcsError Error)
- func (pcs *BaiduPCS) PrepareMove(cpmvJSON ...*CpMvJSON) (dataReadCloser io.ReadCloser, pcsError Error)
- func (pcs *BaiduPCS) PrepareQuotaInfo() (dataReadCloser io.ReadCloser, pcsError Error)
- func (pcs *BaiduPCS) PrepareRapidUpload(targetPath, contentMD5, sliceMD5, crc32 string, length int64) (dataReadCloser io.ReadCloser, pcsError Error)
- func (pcs *BaiduPCS) PrepareRemove(paths ...string) (dataReadCloser io.ReadCloser, pcsError Error)
- func (pcs *BaiduPCS) PrepareRename(from, to string) (dataReadCloser io.ReadCloser, pcsError Error)
- func (pcs *BaiduPCS) PrepareUpload(targetPath string, uploadFunc UploadFunc) (dataReadCloser io.ReadCloser, pcsError Error)
- func (pcs *BaiduPCS) PrepareUploadCreateSuperFile(targetPath string, blockList ...string) (dataReadCloser io.ReadCloser, pcsError Error)
- func (pcs *BaiduPCS) PrepareUploadTmpFile(uploadFunc UploadFunc) (dataReadCloser io.ReadCloser, pcsError Error)
- func (pcs *BaiduPCS) QuotaInfo() (quota, used int64, pcsError Error)
- func (pcs *BaiduPCS) RapidUpload(targetPath, contentMD5, sliceMD5, crc32 string, length int64) (pcsError Error)
- func (pcs *BaiduPCS) Remove(paths ...string) (pcsError Error)
- func (pcs *BaiduPCS) Rename(from, to string) (pcsError Error)
- func (pcs *BaiduPCS) SetAPPID(appID int)
- func (pcs *BaiduPCS) SetHTTPS(https bool)
- func (pcs *BaiduPCS) SetUserAgent(ua string)
- func (pcs *BaiduPCS) ShareCancel(shareIDs []int64) (pcsError Error)
- func (pcs *BaiduPCS) ShareList(page int) (records ShareRecordInfoList, pcsError Error)
- func (pcs *BaiduPCS) ShareSet(paths []string, option *ShareOption) (s *Shared, pcsError Error)
- func (pcs *BaiduPCS) UK() (uk int64, pcsError Error)
- func (pcs *BaiduPCS) Upload(targetPath string, uploadFunc UploadFunc) (pcsError Error)
- func (pcs *BaiduPCS) UploadCreateSuperFile(targetPath string, blockList ...string) (pcsError Error)
- func (pcs *BaiduPCS) UploadTmpFile(uploadFunc UploadFunc) (md5 string, pcsError Error)
- type CloudDlFileInfo
- type CloudDlTaskInfo
- type CloudDlTaskList
- type CpMvJSON
- type CpMvListJSON
- type DownloadFunc
- type ErrInfo
- type ErrType
- type Error
- type FileDirectory
- type FileDirectoryList
- type HandleFileDirectoryFunc
- type Order
- type OrderBy
- type OrderOptions
- type PathJSON
- type PathsListJSON
- type ShareOption
- type ShareRecordInfo
- type ShareRecordInfoList
- type Shared
- type URLInfo
- type UploadFunc
Constants ¶
const ( // OperationGetUK 获取UK OperationGetUK = "获取UK" // OperationQuotaInfo 获取当前用户空间配额信息 OperationQuotaInfo = "获取当前用户空间配额信息" // OperationFilesDirectoriesMeta 获取文件/目录的元信息 OperationFilesDirectoriesMeta = "获取文件/目录的元信息" // OperationFilesDirectoriesList 获取目录下的文件列表 OperationFilesDirectoriesList = "获取目录下的文件列表" // OperationRemove 删除文件/目录 OperationRemove = "删除文件/目录" // OperationMkdir 创建目录 OperationMkdir = "创建目录" // OperationRename 重命名文件/目录 OperationRename = "重命名文件/目录" // OperationCopy 拷贝文件/目录 OperationCopy = "拷贝文件/目录" // OperationMove 移动文件/目录 OperationMove = "移动文件/目录" // OperationRapidUpload 秒传文件 OperationRapidUpload = "秒传文件" // OperationUpload 上传单个文件 OperationUpload = "上传单个文件" // OperationUploadTmpFile 分片上传—文件分片及上传 OperationUploadTmpFile = "分片上传—文件分片及上传" // OperationUploadCreateSuperFile 分片上传—合并分片文件 OperationUploadCreateSuperFile = "分片上传—合并分片文件" // OperationDownloadFile 下载单个文件 OperationDownloadFile = "下载单个文件" // OperationDownloadStreamFile 下载流式文件 OperationDownloadStreamFile = "下载流式文件" // OperationLocateDownload 提取下载链接 OperationLocateDownload = "提取下载链接" // OperationCloudDlAddTask 添加离线下载任务 OperationCloudDlAddTask = "添加离线下载任务" // OperationCloudDlQueryTask 精确查询离线下载任务 OperationCloudDlQueryTask = "精确查询离线下载任务" // OperationCloudDlListTask 查询离线下载任务列表 OperationCloudDlListTask = "查询离线下载任务列表" // OperationCloudDlCancelTask 取消离线下载任务 OperationCloudDlCancelTask = "取消离线下载任务" // OperationCloudDlDeleteTask 删除离线下载任务 OperationCloudDlDeleteTask = "删除离线下载任务" OperationShareSet = "创建分享链接" OperationShareCancel = "取消分享" OperationShareList = "列出分享列表" )
const ( // StrSuccess 操作成功 StrSuccess = "操作成功" // StrRemoteError 远端服务器返回错误 StrRemoteError = "远端服务器返回错误" // StrJSONParseError json 数据解析失败 StrJSONParseError = "json 数据解析失败" // ErrTypeInternalError 内部错误 ErrTypeInternalError ErrType = iota // ErrTypeRemoteError 远端服务器返回错误 ErrTypeRemoteError // ErrTypeNetError 网络错误 ErrTypeNetError // ErrTypeJSONParseError json 数据解析失败 ErrTypeJSONParseError // ErrTypeOthers 其他错误 ErrTypeOthers )
Variables ¶
var DefaultOrderOptions = &OrderOptions{ By: OrderByName, Order: OrderAsc, }
DefaultOrderOptions 默认的排序
Functions ¶
func GetHTTPScheme ¶
GetHTTPScheme 获取 http 协议, https 或 http
Types ¶
type BaiduPCS ¶
type BaiduPCS struct {
// contains filtered or unexported fields
}
BaiduPCS 百度 PCS API 详情
func NewPCSWithClient ¶
func NewPCSWithClient(appID int, client *requester.HTTPClient) *BaiduPCS
NewPCSWithClient 提供app_id, 自定义客户端, 返回 BaiduPCS 对象
func (*BaiduPCS) CloudDlAddTask ¶
CloudDlAddTask 添加离线下载任务
func (*BaiduPCS) CloudDlCancelTask ¶
CloudDlCancelTask 取消离线下载任务
func (*BaiduPCS) CloudDlDeleteTask ¶
CloudDlDeleteTask 删除离线下载任务
func (*BaiduPCS) CloudDlListTask ¶
func (pcs *BaiduPCS) CloudDlListTask() (cl CloudDlTaskList, pcsError Error)
CloudDlListTask 查询离线下载任务列表
func (*BaiduPCS) CloudDlQueryTask ¶
func (pcs *BaiduPCS) CloudDlQueryTask(taskIDs []int64) (cl CloudDlTaskList, pcsError Error)
CloudDlQueryTask 精确查询离线下载任务
func (*BaiduPCS) DownloadFile ¶
func (pcs *BaiduPCS) DownloadFile(path string, downloadFunc DownloadFunc) (err error)
DownloadFile 下载单个文件
func (*BaiduPCS) DownloadStreamFile ¶
func (pcs *BaiduPCS) DownloadStreamFile(path string, downloadFunc DownloadFunc) (err error)
DownloadStreamFile 下载流式文件
func (*BaiduPCS) FilesDirectoriesBatchMeta ¶
func (pcs *BaiduPCS) FilesDirectoriesBatchMeta(paths ...string) (data FileDirectoryList, pcsError Error)
FilesDirectoriesBatchMeta 获取多个文件/目录的元信息
func (*BaiduPCS) FilesDirectoriesList ¶
func (pcs *BaiduPCS) FilesDirectoriesList(path string, options *OrderOptions) (data FileDirectoryList, pcsError Error)
FilesDirectoriesList 获取目录下的文件和目录列表
func (*BaiduPCS) FilesDirectoriesMeta ¶
func (pcs *BaiduPCS) FilesDirectoriesMeta(path string) (data *FileDirectory, pcsError Error)
FilesDirectoriesMeta 获取单个文件/目录的元信息
func (*BaiduPCS) FilesDirectoriesRecurseList ¶
func (pcs *BaiduPCS) FilesDirectoriesRecurseList(path string, options *OrderOptions, handleFileDirectoryFunc HandleFileDirectoryFunc) (data FileDirectoryList, pcsError Error)
FilesDirectoriesRecurseList 递归获取目录下的文件和目录列表
func (*BaiduPCS) LocateDownload ¶
LocateDownload 提取下载链接
func (*BaiduPCS) PrepareCloudDlAddTask ¶
func (pcs *BaiduPCS) PrepareCloudDlAddTask(sourceURL, savePath string) (dataReadCloser io.ReadCloser, pcsError Error)
PrepareCloudDlAddTask 添加离线下载任务, 只返回服务器响应数据和错误信息
func (*BaiduPCS) PrepareCloudDlCancelTask ¶
func (pcs *BaiduPCS) PrepareCloudDlCancelTask(taskID int64) (dataReadCloser io.ReadCloser, pcsError Error)
PrepareCloudDlCancelTask 取消离线下载任务, 只返回服务器响应数据和错误信息
func (*BaiduPCS) PrepareCloudDlDeleteTask ¶
func (pcs *BaiduPCS) PrepareCloudDlDeleteTask(taskID int64) (dataReadCloser io.ReadCloser, pcsError Error)
PrepareCloudDlDeleteTask 取消离线下载任务, 只返回服务器响应数据和错误信息
func (*BaiduPCS) PrepareCloudDlListTask ¶
func (pcs *BaiduPCS) PrepareCloudDlListTask() (dataReadCloser io.ReadCloser, pcsError Error)
PrepareCloudDlListTask 查询离线下载任务列表, 只返回服务器响应数据和错误信息
func (*BaiduPCS) PrepareCloudDlQueryTask ¶
func (pcs *BaiduPCS) PrepareCloudDlQueryTask(taskIDs string) (dataReadCloser io.ReadCloser, pcsError Error)
PrepareCloudDlQueryTask 精确查询离线下载任务, 只返回服务器响应数据和错误信息, taskids 例子: 12123,234234,2344, 用逗号隔开多个 task_id
func (*BaiduPCS) PrepareCopy ¶
func (pcs *BaiduPCS) PrepareCopy(cpmvJSON ...*CpMvJSON) (dataReadCloser io.ReadCloser, pcsError Error)
PrepareCopy 批量拷贝文件/目录, 只返回服务器响应数据和错误信息
func (*BaiduPCS) PrepareFilesDirectoriesBatchMeta ¶
func (pcs *BaiduPCS) PrepareFilesDirectoriesBatchMeta(paths ...string) (dataReadCloser io.ReadCloser, pcsError Error)
PrepareFilesDirectoriesBatchMeta 获取多个文件/目录的元信息, 只返回服务器响应数据和错误信息
func (*BaiduPCS) PrepareFilesDirectoriesList ¶
func (pcs *BaiduPCS) PrepareFilesDirectoriesList(path string, options *OrderOptions) (dataReadCloser io.ReadCloser, pcsError Error)
PrepareFilesDirectoriesList 获取目录下的文件和目录列表, 只返回服务器响应数据和错误信息
func (*BaiduPCS) PrepareLocateDownload ¶
func (pcs *BaiduPCS) PrepareLocateDownload(pcspath string) (dataReadCloser io.ReadCloser, pcsError Error)
PrepareLocateDownload 提取下载链接, 只返回服务器响应数据和错误信息
func (*BaiduPCS) PrepareMkdir ¶
func (pcs *BaiduPCS) PrepareMkdir(pcspath string) (dataReadCloser io.ReadCloser, pcsError Error)
PrepareMkdir 创建目录, 只返回服务器响应数据和错误信息
func (*BaiduPCS) PrepareMove ¶
func (pcs *BaiduPCS) PrepareMove(cpmvJSON ...*CpMvJSON) (dataReadCloser io.ReadCloser, pcsError Error)
PrepareMove 批量移动文件/目录, 只返回服务器响应数据和错误信息
func (*BaiduPCS) PrepareQuotaInfo ¶
func (pcs *BaiduPCS) PrepareQuotaInfo() (dataReadCloser io.ReadCloser, pcsError Error)
PrepareQuotaInfo 获取当前用户空间配额信息, 只返回服务器响应数据和错误信息
func (*BaiduPCS) PrepareRapidUpload ¶
func (pcs *BaiduPCS) PrepareRapidUpload(targetPath, contentMD5, sliceMD5, crc32 string, length int64) (dataReadCloser io.ReadCloser, pcsError Error)
PrepareRapidUpload 秒传文件, 只返回服务器响应数据和错误信息
func (*BaiduPCS) PrepareRemove ¶
func (pcs *BaiduPCS) PrepareRemove(paths ...string) (dataReadCloser io.ReadCloser, pcsError Error)
PrepareRemove 批量删除文件/目录, 只返回服务器响应数据和错误信息
func (*BaiduPCS) PrepareRename ¶
func (pcs *BaiduPCS) PrepareRename(from, to string) (dataReadCloser io.ReadCloser, pcsError Error)
PrepareRename 重命名文件/目录, 只返回服务器响应数据和错误信息
func (*BaiduPCS) PrepareUpload ¶
func (pcs *BaiduPCS) PrepareUpload(targetPath string, uploadFunc UploadFunc) (dataReadCloser io.ReadCloser, pcsError Error)
PrepareUpload 上传单个文件, 只返回服务器响应数据和错误信息
func (*BaiduPCS) PrepareUploadCreateSuperFile ¶
func (pcs *BaiduPCS) PrepareUploadCreateSuperFile(targetPath string, blockList ...string) (dataReadCloser io.ReadCloser, pcsError Error)
PrepareUploadCreateSuperFile 分片上传—合并分片文件, 只返回服务器响应数据和错误信息
func (*BaiduPCS) PrepareUploadTmpFile ¶
func (pcs *BaiduPCS) PrepareUploadTmpFile(uploadFunc UploadFunc) (dataReadCloser io.ReadCloser, pcsError Error)
PrepareUploadTmpFile 分片上传—文件分片及上传, 只返回服务器响应数据和错误信息
func (*BaiduPCS) RapidUpload ¶
func (pcs *BaiduPCS) RapidUpload(targetPath, contentMD5, sliceMD5, crc32 string, length int64) (pcsError Error)
RapidUpload 秒传文件
func (*BaiduPCS) SetUserAgent ¶
SetUserAgent 设置 User-Agent
func (*BaiduPCS) ShareCancel ¶
ShareCancel 取消分享
func (*BaiduPCS) ShareList ¶
func (pcs *BaiduPCS) ShareList(page int) (records ShareRecordInfoList, pcsError Error)
ShareList 列出分享列表
func (*BaiduPCS) ShareSet ¶
func (pcs *BaiduPCS) ShareSet(paths []string, option *ShareOption) (s *Shared, pcsError Error)
ShareSet 分享文件
func (*BaiduPCS) Upload ¶
func (pcs *BaiduPCS) Upload(targetPath string, uploadFunc UploadFunc) (pcsError Error)
Upload 上传单个文件
func (*BaiduPCS) UploadCreateSuperFile ¶
UploadCreateSuperFile 分片上传—合并分片文件
func (*BaiduPCS) UploadTmpFile ¶
func (pcs *BaiduPCS) UploadTmpFile(uploadFunc UploadFunc) (md5 string, pcsError Error)
UploadTmpFile 分片上传—文件分片及上传
type CloudDlFileInfo ¶
type CloudDlFileInfo struct { FileName string `json:"file_name"` FileSize int64 `json:"file_size"` }
CloudDlFileInfo 离线下载的文件信息
type CloudDlTaskInfo ¶
type CloudDlTaskInfo struct { TaskID int64 Status int // 0下载成功, 1下载进行中, 2系统错误, 3资源不存在, 4下载超时, 5资源存在但下载失败, 6存储空间不足, 7任务取消 StatusText string FileSize int64 // 文件大小 FinishedSize int64 // 文件大小 CreateTime int64 // 创建时间 StartTime int64 // 开始时间 FinishTime int64 // 结束时间 SavePath string // 保存的路径 SourceURL string // 资源地址 TaskName string // 任务名称, 一般为文件名 OdType int FileList []*CloudDlFileInfo Result int // 0查询成功,结果有效,1要查询的task_id不存在 }
CloudDlTaskInfo 离线下载的任务信息
type CloudDlTaskList ¶
type CloudDlTaskList []*CloudDlTaskInfo
CloudDlTaskList 离线下载的任务信息列表
func (CloudDlTaskList) String ¶
func (cl CloudDlTaskList) String() string
type CpMvListJSON ¶
type CpMvListJSON struct {
List []*CpMvJSON `json:"list"`
}
CpMvListJSON []*CpMvJSON 对象数组
func (*CpMvListJSON) String ¶
func (clj *CpMvListJSON) String() string
type DownloadFunc ¶
DownloadFunc 下载文件处理函数
type ErrInfo ¶
type ErrInfo struct { ErrCode int `json:"error_code"` // 错误代码 ErrMsg string `json:"error_msg"` // 错误消息 // contains filtered or unexported fields }
ErrInfo 错误信息
func NewErrorInfo ¶
NewErrorInfo 提供operation操作名称, 返回 *ErrInfo
type Error ¶
type Error interface { error Operation() string // 操作 ErrorType() ErrType // 错误类型 ErrorCode() int // 远端服务器错误代码 ErrorMsg() string // 远端服务器错误信息 OriginalError() error // 原始错误 }
Error 错误详情接口
type FileDirectory ¶
type FileDirectory struct { FsID int64 // fs_id Path string // 路径 Filename string // 文件名 或 目录名 Ctime int64 // 创建日期 Mtime int64 // 修改日期 MD5 string // md5 值 Size int64 // 文件大小 (目录为0) Isdir bool // 是否为目录 Ifhassubdir bool // 是否含有子目录 (只对目录有效) Parent *FileDirectory // 父目录信息 Children FileDirectoryList // 子目录信息 }
FileDirectory 文件或目录的元信息
func (*FileDirectory) String ¶
func (f *FileDirectory) String() string
type FileDirectoryList ¶
type FileDirectoryList []*FileDirectory
FileDirectoryList FileDirectory 的 指针数组
func (FileDirectoryList) AllFilePaths ¶
func (fl FileDirectoryList) AllFilePaths() (pcspaths []string)
AllFilePaths 返回所有的网盘路径, 包括子目录
func (FileDirectoryList) Count ¶
func (fl FileDirectoryList) Count() (fileN, directoryN int64)
Count 获取文件总数和目录总数
func (FileDirectoryList) TotalSize ¶
func (fl FileDirectoryList) TotalSize() int64
TotalSize 获取目录下文件的总大小
type HandleFileDirectoryFunc ¶
type HandleFileDirectoryFunc func(depth int, fd *FileDirectory)
HandleFileDirectoryFunc 处理文件或目录的元信息
type PathsListJSON ¶
type PathsListJSON struct {
List []*PathJSON `json:"list"`
}
PathsListJSON 网盘路径列表