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

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.lqws.cn/news/69139.html

相关文章:

  • 电脑为什么换个ip就上不了网了
  • BiliNote部署实践
  • postman工具使用
  • Kotlin 中 companion object 扩展函数详解
  • Kotlin 中companion object {} 什么时候触发
  • 【iOS安全】使用LLDB调试iOS App | LLDB基本架构 | LLDB安装和配置
  • Flask+LayUI开发手记(七):头像的上传及突破static目录限制
  • AI来敲门:我们该如何与焦虑共舞
  • 【Linux】Git原理与使用
  • pbootcms 搜索自定义字段模糊、精准搜索
  • Hadoop 大数据启蒙:深入解析分布式基石 HDFS
  • 使用免费wordpress成品网站模板需要注意点什么
  • Go 语言 + Word 文档模板:WordZero 引擎如何让企业文档处理效率提升 300%?
  • vulnyx loweb writeup
  • 云计算数据治理
  • Linux学习笔记:shell脚本篇(1)
  • 排序算法——详解
  • Nuxt3部署
  • 前端自动化测试利器:Playwright 全面介绍
  • 从0开始学习R语言--Day15--非参数检验
  • Origin将杂乱的分组散点图升级为美观的带颜色映射的气泡图
  • Qt OpenGL 相机实现
  • 《深入解析SPI协议及其FPGA高效实现》-- 第二篇:SPI控制器FPGA架构设计
  • 无他相机:专业摄影,触手可及
  • 相机--相机标定
  • vite构建工具
  • leetcode hot100刷题日记——35.子集
  • Rust 变量与可变性
  • 实现Cursor + Pycharm 交互
  • 【leetcode】459.重复的子字符串