当前位置: 首页 > ai >正文

123网盘SDK-npm包已发布

前言

大家好!今天想和大家分享一个我最近开源的项目:123 网盘 SDK。这个项目已经在 GitHub 开源,最近已经发布到 NPM,可以通过 npm i @ked3/pan123-sdk 直接安装使用。

项目背景:为什么要开发这个 SDK?

在使用 123 网盘官方 API 的过程中,我发现文件上传流程异常复杂,需要调用多个接口:

  1. 创建文件
  2. 获取上传地址和上传分片
  3. 列举已上传分片
  4. 完成上传
  5. 异步轮询获取上传结果

这种复杂的流程对开发者来说非常不友好,每次都要重复编写大量的代码。于是我决定开发一个简单易用的 SDK,让开发者能够通过几行代码就完成文件操作。

✨ 核心API

  • 上传文件
  • 获取文件夹内容
  • 获取文件详情 (2025-05-29)
  • 获取文件下载链接
  • 在线解压文件
  • 获取直链链接 ,启用直链,禁用直链 (2025-06-02) v1.0.7

📦 安装使用

安装

npm install @ked3/pan123-sdk

基础使用

ES Module 方式
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",
});
CommonJS 方式
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文件IDfolderId: "987654321", // 解压目标文件夹ID
});

直链管理

// 启用文件直链
await sdk.enableDirectLink(fileId);// 获取直链地址
const directUrl = await sdk.getDirectLink(fileId);// 禁用直链
await sdk.disableDirectLink(fileId);
http://www.xdnf.cn/news/10489.html

相关文章:

  • MyBatisPlus--条件构造器及自定义SQL详解
  • 【Linux系列】Gunicorn 进程架构解析:主进程与工作进程
  • CppCon 2014 学习:Hardening Your Code
  • 3.RV1126-OPENCV 图像叠加
  • LM393红外避障电路Multisim仿真
  • (七)【Linux进程的创建、终止和等待】
  • 【AI论文】R2R:通过小型与大型模型之间的令牌路由高效导航发散推理路径
  • GpuGeek如何成为AI基础设施市场的中坚力量
  • C++11新特性包装器
  • 自然图像数据集
  • Lesson 26 The best art critics
  • 软考-数据库系统工程师-程序设计语言知识要点
  • 如何安装ojdbc6-12.1.0.1与je-5.0.58的mvn构建依赖jar包?
  • 问题 D: 学 DP 导致的
  • Camera相机人脸识别系列专题分析之十:人脸特征检测FFD算法之低功耗libvega_face.so人脸识别检测流程详解
  • 超标量处理器设计6-指令解码
  • SPA-RL:通过Stepwise Progress Attribution训练LLM智能体
  • 第十一讲 | 多态
  • ∑ 1/n 调和级数 是 发散的
  • 解决 Win11 睡眠后黑屏无法唤醒的问题
  • C语言 — 文件
  • 初学者如何微调大模型?从0到1详解
  • 串口通信技术及USART应用研究
  • IDEA PyCharm 等工具如何同时打开多个窗口
  • Redis笔记
  • 英一真题阅读单词笔记 06年
  • 系统性学习C语言-第十三讲-深入理解指针(3)
  • 使用langchain实现五种分块策略:语义分块、父文档分块、递归分块、特殊格式、固定长度分块
  • 计算机网络技术
  • 【PostgreSQL 05】PostgreSQL扩展开发实战:从自定义函数到插件开发的完整指南