大家好!今天想和大家分享一个我最近开源的项目:123 网盘 SDK。这个项目已经在 GitHub 开源,最近已经发布到 NPM,可以通过 npm i @ked3/pan123-sdk
直接安装使用。
在使用 123 网盘官方 API 的过程中,我发现文件上传流程异常复杂,需要调用多个接口:
这种复杂的流程对开发者来说非常不友好,每次都要重复编写大量的代码。于是我决定开发一个简单易用的 SDK,让开发者能够通过几行代码就完成文件操作。
npm install @ked3/pan123-sdk
import Pan123SDK from "@ked3/pan123-sdk";
const sdk = new Pan123SDK({
clientId: "your_client_id",
clientSecret: "your_client_secret",
});
// 初始化 token
await sdk.initToken();
// 上传文件
const uploadResult = await sdk.uploadFile("./example.zip", {
parentFileID: 0, // 父目录ID,0表示根目录
containDir: false, // 是否包含目录结构
duplicate: 1, // 重名处理策略:1-重命名,2-覆盖,3-跳过
});
// 获取文件列表
const fileList = await sdk.getFileList({
parentFileId: 0,
limit: 100,
searchData: "",
searchMode: 0,
lastFileId: 0,
});
// 获取下载链接
const downloadUrl = await sdk.getFileDownloadUrl({
fileId: "123456789",
});
const Pan123SDK = require("@ked3/pan123-sdk");
const sdk = new Pan123SDK({
clientId: "xxx",
clientSecret: "xxx",
});
async function main() {
await sdk.initToken();
const uploadResult = await sdk.uploadFile(filePath, {
parentFileID: 14439872,
containDir: false,
duplicate: 2,
});
}
main();
// 解压 ZIP 文件到指定文件夹
const result = await sdk.zipFile({
fileId: "123456789", // ZIP文件ID
folderId: "987654321", // 解压目标文件夹ID
});
// 启用文件直链
await sdk.enableDirectLink(fileId);
// 获取直链地址
const directUrl = await sdk.getDirectLink(fileId);
// 禁用直链
await sdk.disableDirectLink(fileId);