项目简介
这是一个用于与钉钉(DingTalk)API交互的Golang SDK,提供了与钉钉API交互所需的函数和方法,方便开发者使用钉钉API进行开发。
项目的主要特性和功能
- 支持多种免登方式,如ISV、企业、SSO、SNS(H5 Web App)免登以及个人小程序免登。
- 利用独占锁对access_token进行自动续期和过期管理。
- 支持注册钉钉事件回调,能对钉钉事件回调消息签名进行加解密。
- 支持调用钉钉全部的Open API和Top API,自动处理生成加密签名。
- 提供一系列测试用例,涵盖获取认证范围、企业access_token、企业票据、上传和下载文件等功能。
安装使用步骤
安装
在终端执行以下命令安装SDK:
bash
安装完成后,可执行以下命令查看SDK信息:
bash
~ ᐅ go-dingtalk
使用
- 配置企业ID、企业密钥等必要信息,示例代码如下: ```go package main
import ( "os" )
func main() { c := getCompanyDingTalkClient() c.RefreshCompanyAccessToken() }
func getCompanyDingTalkClient() *dingtalk.DingTalkClient { CorpID := os.Getenv("CorpId") CorpSecret := os.Getenv("CorpSecret") config := &dingtalk.DTConfig{ CorpID: CorpID, CorpSecret: CorpSecret, } c := dingtalk.NewDingTalkCompanyClient(config) return c } ``` 2. 使用SDK提供的函数和方法与钉钉API进行交互。
测试
若要运行测试用例,在终端执行以下命令:
bash
~ ᐅ cd __test__
~ ᐅ go test
文档查看
若要查看文档,可执行以下命令:
bash
~ ᐅ npm i -g vuepress
~ ᐅ cd docs
~ ᐅ vuepress dev
ISV免登流程
- 调用
RefreshSuiteAccessToken
刷新suite_access_token
。 - 等待钉钉推送临时Code。
- 调用
IsvGetPermanentCode
。 - 调用
IsvActivateSuite
给企业激活套件。 - 调用
IsvGetCorpAccessToken
获取企业的access_token
。
注意:只有isv的suite_access_token
是单例,不同企业的corp_access_token
不同。建议使用Redis等key - value存储来维护corp_access_token
。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】