以下所有方法中的 options 参数是额外请求配置,详见 AxiosRequestConfig。
createShareLink 方法
标准模式和托管模式都支持
创建分享链接
const result = await client.createShareLink(params, options)
举例
await client.createShareLink({
description: 'test',
drive_id: '1060',
expiration: '2021-12-08T15:59:59.999Z',
file_id_list: ['61a49e39d687d40967164cf98ef65ab5bb554f53'],
share_pwd: '831956',
})
参数说明
字段 | 类型 | 必选 | 说明 |
params | ICreateShareLinReq | 是 | 创建分享参数 |
options | AxiosRequestConfig | 其他配置项 |
ICreateShareLinReq
字段 | 类型 | 必选 | 说明 |
description | string | 描述信息 | |
drive_id | string | 是 | 云盘ID |
share_pwd | string | 提取码,0-64个字符。长度0表示没有提取码 | |
file_id_list | string[] | 是 | (标准模式才有效)。一组文件或者文件加的列表,上限:100 |
file_path_list | string[] | 是 | (托管模式下有效)与 file_id_list 之间只需传一个 |
expiration | string | 是 | 失效时间点。RFC3339格式 比如:"2020-06-28T11:33:00.000+08:00" 永久有效:"" |
返回
字段 | 类型 | 必选 | 说明 |
result | IShareLinkItem | 是 | 分享链接详情 |
cancelShareLink 方法
标准模式和托管模式都支持。
取消分享
await client.cancelShareLink(params, options)
举例
await client.cancelShareLink({
share_id: 'YgHgBeXGZWr'
})
参数说明
字段 | 类型 | 必选 | 说明 |
params | Object | 是 | 取消分享参数 |
options | AxiosRequestConfig | 其他配置项 |
params
字段 | 类型 | 必选 | 说明 |
share_id | string | 是 | 分享id |
返回
无
listShareLinks 方法
标准模式和托管模式都支持
列举分享
const result = await client.listShareLinks(params, options)
举例
const {items=[], next_marker} = await client.listShareLinks({
creator: 'user_id',
marker: '',
limit: 100,
})
参数说明
字段 | 类型 | 必选 | 说明 |
params | Object | 是 | 列举分享参数 |
options | AxiosRequestConfig | 其他配置项 |
params
字段 | 类型 | 必选 | 说明 |
limit | number | 返回数据最大条数,范围:[1-100],默认:100 | |
marker | string | 查询起始标识 | |
creator | string | 一 、管理员: 1.1 不传,查所有用户 1.2 传指定user_id,查指定用户的分享。 二、普通用户: 2.1 不传,查自己 2.2 传指定user_id,只能是自己,否则报403 |
返回
字段 | 类型 | 必选 | 说明 |
result | IListRes<IShareLinkItem> | 是 | 结果 |
IListRes
字段 | 类型 | 必选 | 说明 |
items | IShareLinkItem[] | 是 | IShareLinkItem数组 |
next_marker | string | 查询下一页的起始标识 |
IShareLinkItem
字段 | 类型 | 说明 |
share_id | string | 分享码 |
share_pwd | string | 提取码。如果没有传递,那么这里返回空串,表示不需要提取码 |
share_msg | string | 分享口令 |
share_url | string | 分享URL地址 |
share_policy | 'url' | 'msg' | 分享策略 url: 使用链接进行分享 msg: 使用口令进行分享 |
description | string | 描述 |
share_name | string | 分享名称 |
download_count | number | 下载次数 |
preview_count | number | 查看次数 |
save_count | number | 保存次数 |
drive_id | string | 云盘ID |
share_pwd | string | 提取码,0-64个字符。长度0表示没有提取码 |
file_id_list | string[] | 标准模式返回此字段 |
file_path_list | string[] | 托管模式返回此字段 |
expiration | Date | 失效时间点。RFC3339格式 比如:"2020-06-28T11:33:00.000+08:00" 永久有效:"" |
expired | boolean | 是否过期 |
status | 'enabled' | 'disabled' | 分享状态 |
creator | string | 创建者id |
created_at | Date | 创建时间 |
updated_at | Date | 更新时间 |
getShareLinkByAnonymous 方法
新增于:v0.1.3
匿名(无需token)获取分享信息。
const result = await client.getShareLinkByAnonymous(params, options)
举例
const domain_id = '您的domainID'
const client = new PDSClient({
api_endpoint: `https://${domain_id}.api.aliyunpds.com`
})
let info = client.getShareLinkByAnonymous({
share_id: 'xxxxxx'
})
参数说明
字段 | 类型 | 必选 | 说明 |
params | Object | 是 | 参数 |
options | AxiosRequestConfig | 其他配置项 |
params
字段 | 类型 | 必选 | 说明 |
share_id | string | 是 | 分享ID |
返回
字段 | 类型 | 必选 | 说明 |
result | IAnonymousShareLinkItem | 是 | 结果 |
IAnonymousShareLinkItem
字段 | 类型 | 必选 | 说明 |
avatar | string | 是 | 分享者头像 |
creator_id | string | 是 | 创建者用户ID |
creator_name | string | 是 | 创建者用户昵称 |
creator_phone | string | 创建者手机号 | |
disable_download | boolean | 禁止下载 | |
disable_preview | boolean | 禁止预览 | |
disable_save | boolean | 禁止保存 | |
enable_upload | boolean | 允许上传 | |
expiration | Date | 过期时间 | |
preview_limit | number | 预览次数限制 | |
require_login | boolean | 需要登录才能查看 | |
save_download_limit | number | 保存或下载次数限制 | |
share_name | string | 分享链接名称 | |
updated_at | Date | 最后修改时间 |
getShareToken 方法
新增于:v0.1.3
匿名(无需token)获取分享Token。
什么是分享token (share_token)?
分享 token 是一种临时token,可以替代 access_token 调用某些API,比如 listFiles,从而实现用户未登录时访问分享页面内容的功能。
const result = await client.getShareToken(params, options)
举例
const domain_id = '您的domainID'
const client = new PDSClient({
api_endpoint: `https://${domain_id}.api.aliyunpds.com`
})
try {
let info = client.getShareToken({
share_id: 'xxxxxx',
// share_pwd: '提取码' // 如果有,请输入提取码
})
}catch(e){
// 如果需要提取码,但是上面没有传入,会报错
if (e.code == 'InvalidResource.SharePwd'){
// 需要提取码。
}
}
参数说明
字段 | 类型 | 必选 | 说明 |
params | Object | 是 | 参数 |
options | AxiosRequestConfig | 其他配置项 |
params
字段 | 类型 | 必选 | 说明 |
share_id | string | 是 | 分享ID |
share_pwd | string | 提取码 |
返回
字段 | 类型 | 必选 | 说明 |
result | IShareToken | 是 | 结果 |
IShareToken
字段 | 类型 | 必选 | 说明 |
share_token | string | 是 | 分享Token |
expire_time | string | 是 | 过期时间 |
expires_in | string | 是 | 有效期,单位秒 |
使用分享Token举例
获取分享文件列表。
const share_token = '得到的分享Token'
const share_id = '您的分享ID'
const domain_id = '您的domainID'
const client = new PDSClient({
api_endpoint: `https://${domain_id}.api.aliyunpds.com`
})
let {items=[], next_marker} = client.listFiles({
share_id,
parent_file_id: 'root'
}, {
headers: {
'x-share-token': share_token
}
})