{"id":13427756,"url":"https://github.com/fastwego/dingding","last_synced_at":"2025-03-16T00:32:05.779Z","repository":{"id":43030326,"uuid":"287792140","full_name":"fastwego/dingding","owner":"fastwego","description":"[钉钉] A fast dingding development sdk written in Golang","archived":false,"fork":false,"pushed_at":"2021-09-27T16:05:21.000Z","size":261,"stargazers_count":108,"open_issues_count":1,"forks_count":17,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-28T07:45:00.223Z","etag":null,"topics":["dingding","dingtalk","fastwego"],"latest_commit_sha":null,"homepage":"https://fastwego.dev","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fastwego.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://pic2.zhimg.com/80/v2-6b84f07b309b6e1ad1b3141c3e9d34dc_1440w.png"]}},"created_at":"2020-08-15T17:18:44.000Z","updated_at":"2024-09-10T03:04:54.000Z","dependencies_parsed_at":"2022-07-08T02:58:15.390Z","dependency_job_id":null,"html_url":"https://github.com/fastwego/dingding","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastwego%2Fdingding","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastwego%2Fdingding/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastwego%2Fdingding/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastwego%2Fdingding/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fastwego","download_url":"https://codeload.github.com/fastwego/dingding/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243809865,"owners_count":20351403,"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":["dingding","dingtalk","fastwego"],"created_at":"2024-07-31T01:00:39.945Z","updated_at":"2025-03-16T00:32:05.517Z","avatar_url":"https://github.com/fastwego.png","language":"Go","funding_links":["https://pic2.zhimg.com/80/v2-6b84f07b309b6e1ad1b3141c3e9d34dc_1440w.png"],"categories":["开发库和SDK"],"sub_categories":["Golang"],"readme":"# fastwego/dingding\n\nA fast [dingding](https://ding-doc.dingtalk.com/) development sdk written in Golang\n\n[![GoDoc](https://pkg.go.dev/badge/github.com/fastwego/dingding?status.svg)](https://pkg.go.dev/github.com/fastwego/dingding?tab=doc)\n[![Go Report Card](https://goreportcard.com/badge/github.com/fastwego/dingding)](https://goreportcard.com/report/github.com/fastwego/dingding)\n\n## 快速开始 \u0026 demo\n\n```shell script\ngo get github.com/fastwego/dingding\n```\n\n```go\n\n// 钉钉 AccessToken 管理器\natm := \u0026dingding.DefaultAccessTokenManager{\n    Id:   DingConfig[\"AppKey\"],\n    Name: \"access_token\",\n    GetRefreshRequestFunc: func() *http.Request {\n        params := url.Values{}\n        params.Add(\"appkey\", DingConfig[\"AppKey\"])\n        params.Add(\"appsecret\", DingConfig[\"AppSecret\"])\n        req, _ := http.NewRequest(http.MethodGet, dingding.ServerUrl+\"/gettoken?\"+params.Encode(), nil)\n\n        return req\n    },\n    Cache: file.New(os.TempDir()),\n}\n\n// 钉钉 客户端\nDingClient = dingding.NewClient(atm)\n\n// 调用 api\nparams := url.Values{}\nparams.Add(\"mobile\", \"13800138000\")\nreq, _ := http.NewRequest(http.MethodGet, \"/user/get_by_mobile?\"+params.Encode(), nil)\nresp, err := DingClient.Do(req)\n```\n\n完整的演示项目：\n\n[https://github.com/fastwego/dingding-demo](https://github.com/fastwego/dingding-demo)\n\n## 架构设计\n\n![sdk](./doc/img/sdk.jpg)\n\n## 框架特点\n\n- 使用 Go 语言，开发快、编译快、部署快、运行快，轻松服务海量用户\n- 丰富的[文档](https://pkg.go.dev/github.com/fastwego/dingding) 和 [演示代码](https://github.com/fastwego/dingding-demo) ，快速上手，5\n  分钟即可搭建一套完整的钉钉服务\n- 独立清晰的模块划分，快速熟悉整个 sdk，没有意外，一切都是你期望的样子\n- 直接调用接口，最少封装，自由嵌入业务逻辑\n- 简单而强大的 AccessToken 管理：\n    - 默认将 AccessToken 缓存到本机临时目录下\n    - 过期自动重新获取\n    - 支持自定义 AccessToken 的获取和管理方法，扩展应用场景\n    - 支持企业内部应用/第三方企业应用/第三方个人应用不同类型的 AccessToken 管理\n- 接口调用失败自动重试\n- 事件回调加解密处理\n- 丰富完整\u0026支持自定义的日志\n- 支持自定义 http.Client：\n    - 默认使用 http.DefaultClient\n\n## 活跃的开发者社区\n\nfastwego 是一套丰富的 Go 开发框架，支持钉钉、飞书、微信等服务，拥有庞大的开发者用户群体\n\n你遇到的所有问题几乎都可以在社区找到解决方案\n\n欢迎提交 pull request / issue / 文档，一起让钉钉开发更快更好！\n\nFaster we go together!\n\n[加入开发者交流群](https://github.com/fastwego/fastwego.dev#%E5%BC%80%E5%8F%91%E8%80%85%E4%BA%A4%E6%B5%81%E7%BE%A4)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffastwego%2Fdingding","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffastwego%2Fdingding","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffastwego%2Fdingding/lists"}