Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

123 云盘 SDK 项目

这是一个面向 123 云盘开放平台的 SDK 项目,目标是把官方开放 API 封装成更容易在业务服务端中使用的多语言 SDK。

当前已经完成 Node.js、.NET/C# 和 Go 版本 SDK。后续可以在同一仓库中继续增加其他语言实现。每种语言 SDK 都放在独立目录中,并维护自己的 README、测试和构建方式。

当前内容

路径 说明
sdk-nodejs Node.js / TypeScript SDK,npm 包名为 chest123-pan-sdk
sdk-nodejs/README.md Node.js SDK 使用文档
sdk-dotnet C#/.NET SDK,NuGet 包名为 Chest123.PanSdk
sdk-dotnet/README.md .NET SDK 使用文档
sdk-go Go SDK,module path 为 github.com/memsys-lizi/Chest123/sdk-go
sdk-go/README.md Go SDK 使用文档
123PanDoc 123 云盘官方开放平台 API 的本地整理文档
123PanDoc/99-endpoint-index.md API 接口总索引

Node.js SDK

Node.js SDK 封装了 123 云盘开放平台的鉴权、文件管理、上传、下载链接、直链、分享、离线下载、图床、视频转码等能力。

最小示例:

import { createPan123Client } from 'chest123-pan-sdk';

const client = createPan123Client({
  clientId: process.env.PAN123_CLIENT_ID,
  clientSecret: process.env.PAN123_CLIENT_SECRET
});

const files = await client.files.list({
  parentFileId: 0,
  limit: 100
});

更多用法见 sdk-nodejs/README.md

.NET SDK

.NET SDK 封装同一套 123 云盘开放平台能力,适用于 ASP.NET Core、Worker Service、控制台程序、桌面程序等 C# 项目。

最小示例:

using Chest123.PanSdk;
using Chest123.PanSdk.Models;

var client = new Pan123Client(new Pan123ClientOptions
{
    ClientId = Environment.GetEnvironmentVariable("PAN123_CLIENT_ID"),
    ClientSecret = Environment.GetEnvironmentVariable("PAN123_CLIENT_SECRET")
});

var files = await client.Files.ListAsync(new FileListRequest
{
    ParentFileId = 0,
    Limit = 100
});

更多用法见 sdk-dotnet/README.md

Go SDK

Go SDK 封装同一套 123 云盘开放平台能力,适用于 Go 服务端、CLI、任务程序等场景。

最小示例:

package main

import (
    "context"
    "fmt"
    "os"

    pan123 "github.com/memsys-lizi/Chest123/sdk-go"
)

func main() {
    client := pan123.NewClient(pan123.Options{
        ClientID:     os.Getenv("PAN123_CLIENT_ID"),
        ClientSecret: os.Getenv("PAN123_CLIENT_SECRET"),
    })

    files, err := client.Files.List(context.Background(), pan123.FileListRequest{
        ParentFileID: 0,
        Limit:        100,
    })
    if err != nil {
        panic(err)
    }

    fmt.Println(files.FileList)
}

更多用法见 sdk-go/README.md

官方 API 文档

123PanDoc 是基于 123 云盘官方语雀文档整理出的本地 Markdown 文档集,方便开发 SDK 时查阅接口路径、请求参数、响应字段、上传流程和直链流程。

建议开发新语言 SDK 时先阅读:

仓库组织约定

新增语言 SDK 时建议按语言创建独立目录:

sdk-nodejs/
sdk-go/
sdk-dotnet/

每个 SDK 目录应独立包含:

  • SDK 源码
  • README 使用文档
  • 示例代码
  • 单元测试和必要的 live test
  • 对应语言生态的包管理配置

通用 API 事实来源统一放在 123PanDoc,避免不同语言 SDK 对接口字段和行为理解不一致。

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages