{"id":17118951,"url":"https://github.com/chyroc/baiduyun-go","last_synced_at":"2025-04-13T04:37:14.239Z","repository":{"id":59045605,"uuid":"530904075","full_name":"chyroc/baiduyun-go","owner":"chyroc","description":"sdk for Baidu Yunpan（sdk for 百度云盘）","archived":false,"fork":false,"pushed_at":"2022-08-31T10:47:43.000Z","size":26,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T21:37:35.833Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chyroc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-08-31T02:13:25.000Z","updated_at":"2025-01-04T08:49:32.000Z","dependencies_parsed_at":"2022-09-11T06:51:09.477Z","dependency_job_id":null,"html_url":"https://github.com/chyroc/baiduyun-go","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chyroc%2Fbaiduyun-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chyroc%2Fbaiduyun-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chyroc%2Fbaiduyun-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chyroc%2Fbaiduyun-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chyroc","download_url":"https://codeload.github.com/chyroc/baiduyun-go/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248665691,"owners_count":21142121,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T17:55:52.080Z","updated_at":"2025-04-13T04:37:14.214Z","avatar_url":"https://github.com/chyroc.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# baiduyun-go\n\nsdk for Baidu Yunpan（sdk for 百度云盘）\n\n## Installation\n\n```shell\ngo get github.com/chyroc/baiduyun-go\n```\n\n## Usage\n\n### OAuth / 授权\n\n```go\nfunc Example_client_AuthURL() {\n\tcli := baiduyun.New(baiduyun.WithAppCredential(\"id\", \"secret\"))\n\n\t// 生成 OAuth 授权页面的 URL\n\tfmt.Println(cli.AuthURL(\"http://127.0.0.1:3000\"))\n\n\t// 上一步生成的 code 换取 token\n\tres, err := cli.AuthAccessToken(\"afe6db28ed86582262b074df3f3f6cb2\", \"http://127.0.0.1:3000\")\n\tif err != nil {\n\t\tfmt.Println(\"err\", err)\n\t} else {\n\t\tfmt.Printf(\"token: %#v\\n\", res)\n\t}\n}\n```\n\n### Get File List / 获取文件列表\n```go\nfunc Example_client_FileList() {\n\tcli := baiduyun.New(\n\t\tbaiduyun.WithAppCredential(\"id\", \"secret\"),\n\t\tbaiduyun.WithToken(\"access-token\", \"refresh-token\"),\n\t)\n\n\tfiles, err := cli.FileList(\u0026baiduyun.FileListReq{\n\t\tDir:       \u0026[]string{\"/\"}[0],\n\t\tOrder:     nil,\n\t\tDesc:      nil,\n\t\tStart:     nil,\n\t\tLimit:     nil,\n\t\tWeb:       nil,\n\t\tFolder:    nil,\n\t\tShowEmpty: nil,\n\t})\n\tif err != nil {\n\t\tfmt.Println(\"err\", err)\n\t} else {\n\t\tfor _, file := range files {\n\t\t\tfmt.Println(file.FsID, file.Path)\n\t\t}\n\t}\n}\n```\n\n### Get File Metadata / 获取文件元数据\n\n```go\nfunc Example_client_FileMetadata() {\n\tcli := baiduyun.New(\n\t\tbaiduyun.WithAppCredential(\"id\", \"secret\"),\n\t\tbaiduyun.WithToken(\"access-token\", \"refresh-token\"),\n\t)\n\n\tfiles, err := cli.FileMetadata(\u0026baiduyun.FileMetadataReq{\n\t\tFsIDs:     []int64{1, 2},\n\t\tDLink:     nil,\n\t\tPath:      nil,\n\t\tThumb:     nil,\n\t\tExtra:     nil,\n\t\tNeedMedia: nil,\n\t})\n\tif err != nil {\n\t\tfmt.Println(\"err\", err)\n\t} else {\n\t\tfor _, file := range files {\n\t\t\tfmt.Println(file.FsID, file.Path)\n\t\t}\n\t}\n}\n```\n\n### Search File / 搜索文件\n\n```go\nfunc Example_client_FileSearch() {\n\tcli := baiduyun.New(\n\t\tbaiduyun.WithAppCredential(\"id\", \"secret\"),\n\t\tbaiduyun.WithToken(\"access-token\", \"refresh-token\"),\n\t)\n\n\thasMore, files, err := cli.FileSearch(\u0026baiduyun.FileSearchReq{\n\t\tKey:       \"文本\",\n\t\tDir:       nil,\n\t\tPage:      nil,\n\t\tNum:       nil,\n\t\tRecursion: nil,\n\t\tWeb:       nil,\n\t})\n\tif err != nil {\n\t\tfmt.Println(\"err\", err)\n\t} else {\n\t\tfmt.Println(\"hasMore\", hasMore)\n\t\tfor _, file := range files {\n\t\t\tfmt.Println(file.FsID, file.Path)\n\t\t}\n\t}\n}\n```\n\n### Download File / 下载文件\n\n```go\nfunc Example_client_DownloadFileID() {\n\tcli := baiduyun.New(\n\t\tbaiduyun.WithAppCredential(\"id\", \"secret\"),\n\t\tbaiduyun.WithDownloadTimeout(time.Minute*120),\n\t\tbaiduyun.WithToken(\"access-token\", \"refresh-token\"),\n\t)\n\n\treader, err := cli.DownloadFileID(868217257594741)\n\tif err != nil {\n\t\tfmt.Println(\"err\", err)\n\t\treturn\n\t}\n\tbs, err := io.ReadAll(reader)\n\tif err != nil {\n\t\tfmt.Println(\"err\", err)\n\t\treturn\n\t}\n\terr = ioutil.WriteFile(\"./example.mp4\", bs, 0644)\n\tif err != nil {\n\t\tfmt.Println(\"err\", err)\n\t\treturn\n\t}\n}\n```\n\n### Upload File / 上传文件\n\n```go\nfunc Example_client_FileUpload() {\n\tcli := baiduyun.New(\n\t\tbaiduyun.WithAppCredential(\"id\", \"secret\"),\n\t\tbaiduyun.WithToken(\"access-token\", \"refresh-token\"),\n\t)\n\n\tf, err := os.Open(\"/filepath/1.txt\")\n\tif err != nil {\n\t\tfmt.Println(\"err\", err)\n\t\treturn\n\t}\n\tdefer f.Close()\n\n\tprint(cli.FileUpload(\u0026baiduyun.FileUploadReq{\n\t\tName:  \"/1.txt\",\n\t\tFile:  f,\n\t\tRType: nil,\n\t}))\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchyroc%2Fbaiduyun-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchyroc%2Fbaiduyun-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchyroc%2Fbaiduyun-go/lists"}