dingtalk
dingtalk copied to clipboard
go版本的钉钉开发api
创建和配置应用 先有应用我们才能一起玩
dingtalk 是基于新版的 钉钉开发平台api文档 开发,也就是说在你使用之前是需要在钉钉开发者后台 创建一个小程序或应用
为什么有它
首先我要感谢 godingtalk 库,我是参考他的代码写的。但是由于钉钉历史原因,很多api都更新了,其次就是我有很多钉钉预警的业务需要做,于是就写了这个
怎么使用
go get github.com/zhaoyunxing92/dingtalk/v2
client := NewClient("appkey", "AppSecret")
// 获取token
token, _ := client.GetAccessToken()
fmt.Println(token)
日志级别设置
client:= NewClient(1244553273, "appkey", "AppSecret", WithLevel(zap.DebugLevel))
isv
和企业内部开发切换
在NewClient
的时候如果调用了WithTicket
和WithCorpId
则判定为是isv
怎么参与
正如你所见钉钉的文档太多了,欢迎大家来提交pr,怎么提交pr
参考文档
开发进度
-
获取凭证
- [x] 获取企业内部应用的access_token
client.GetAccessToken
- [x] 服务商获取第三方应用授权企业的access_token
client.GetCorpAccessToken
- [x] 获取第三方企业应用的suite_access_token
client.GetSuiteAccessToken
- [x] 获取jsapi_ticket
client.GetJsApiTicket
- [x] 获取微应用后台免登的SsoToken
client.GetSSOToken
- [x] 获取企业内部应用的access_token
-
通讯录管理
-
用户管理
- [x] 创建用户
client.CreateUser
- [x] 删除用户
client.DeleteUser
- [x] 更新用户详情
client.UpdateUser
- [x] 根据userid获取用户详情
client.GetUserDetail
- [x] 获取部门用户基础信息
client.GetDeptSimpleUserInfo
- [x] 获取部门用户userid列表
client.GetDeptUserIds
- [x] 获取部门用户详情
client.GetDeptDetailUserInfo
- [x] 获取员工人数
client.GetUserCount
- [x] 获取未登录钉钉的员工列表
client.GetInactiveUser
- [x] 根据手机号获取userid
client.GetUserIdByMobile
- [x] 根据unionid获取用户userid
client.GetUserIdByUnionId
- [x] 获取管理员列表
client.GetOrgAdminUser
- [x] 获取管理员通讯录权限范围
client.GetOrgAdminScope
- [x] 获取管理员的应用管理权限
client.GetUserCanAccessApplet
- [x] 创建用户
-
部门管理
- [x] 创建部门
client.CreateDept
- [x] 更新部门
client.UpdateDept
- [x] 删除部门
client.DeleteDept
- [x] 获取部门详情
client.GetDeptDetail
- [x] 获取部门列表
client.GetDeptList
- [x] 获取子部门Id列表
client.GetSubDeptList
- [x] 获取指定部门的所有父部门列表
client.GetParentIdsByDeptId
- [x] 获取指定用户的所有父部门列表
client.GetParentIdsByUserId
- [x] 支持递归获取部门列表
client.FetchDeptList
- [x] 创建部门
-
角色管理
- [x] 创建角色
client.CreateRole
- [x] 创建角色组
client.CreateRoleGroup
- [x] 更新角色
client.UpdateRole
- [x] 批量增加员工角色
client.BatchAddUserRole
- [x] 删除角色
client.DeleteRole
- [x] 批量删除员工角色
client.BatchRemoveUserRole
- [x] 批量删除员工角色
client.BatchRemoveUserRole
- [x] 设定角色成员管理范围
client.SetUserRoleManageScope
官方接口不通 - [x] 获取角色组列表
client.GetGroupRoles
- [x] 获取角色列表
client.GetRoleList
- [x] 获取角色详情
client.GetRoleDetail
- [x] 获取指定角色的员工列表
client.GetRoleUserList
- [x] 创建角色
-
外部联系人
-
-
群会话管理
-
消息通知
-
工作通知
- [x] 使用模板发送工作通知消息
client.SendTemplateMessage
- [x] 发送工作通知
client.SendCorpConvMessage
- [x] 更新工作通知状态栏
client.UpdateCorpConvMessageStatus
- [x] 获取工作通知消息的发送进度
client.GetCorpConvMsgProgress
- [x] 获取工作通知消息的发送结果
client.GetMessageSendResult
- [x] 撤回工作通知消息
client.RecallCorpConvMessage
- [x] 使用模板发送工作通知消息
-
企业群消息
- [x] 发送消息到企业群
client.SendChatMessage
- [x] 查询群消息已读人员列表
client.GetChatMsgReadUser
- [x] 发送消息到企业群
-
普通消息
- [x] 发送普通消息
client.SendMessage
- [x] 发送普通消息
-
-
身份验证
- [x] 通过免登码获取用户信息
client.GetUserInfoByCode
- [x] 获取应用管理员的身份信息
client.GetSSOUserInfo
- [x] 根据sns临时授权码获取用户信息
- [x] 通过免登码获取用户信息
-
应用授权
- [x] 激活应用
client.ActivateSuite
- [x] 获取授权应用的基本信息
client.GetAgentInfo
- [x] 获取企业授权信息
client.GetAuthInfo
- [x] 获取授权企业的永久授权码
client.GetCorpPermanentCode
- [x] 获取应用未激活的企业列表
client.GetUnactiveCorpIds
- [x] 重新授权未激活应用的企业
client.ReauthCorp
- [x] 激活应用
-
待办任务
- [x] 新增钉钉待办任务
client.CreateTodo
- [x] 获取钉钉待办任务详情
client.GetTodoDetail
- [x] 删除钉钉待办任务
client.DeleteTodo
- [x] 更新钉钉待办任务
client.UpdateTodo
- [x] 更新钉钉待办执行者状态
client.UpdateTodoDone
- [x] 根据sourceId获取钉钉待办任务详情
client.GetTodoListBySourceId
- [x] 查询企业下用户待办列表
client.GetTodoList
- [x] 新增钉钉待办任务
-
钉盘
- 空间管理
- 文件管理
- 权限管理
- 回收站
- [ ] 查询回收站文件(夹)列表
- [ ] 还原回收站文件(夹)
- [ ] 删除回收站文件(夹)
- [ ] 清空回收站
-
智能人事
- [x] 获取在职员工列表
client.GetHrmEmployee
- [x] 获取待入职员工列表
client.GetHrmToBeHiredEmployee
- [x] 获取离职员工列表
client.GetHrmResignEmployeeIds
- [x] 获取员工离职信息
client.GetHrmResignEmployee
- [x] 添加企业待入职员工
client.HrmCreateEmployee
- 花名册
- [x] 获取花名册字段组详情
client.GetHrmField
- [x] 获取员工花名册字段信息
client.GetHrmEmployeeField
- [x] 更新员工花名册信息
client.UpdateHrmEmployeeField
- [x] 获取花名册元数据
client.GetHrmMeta
- [x] 获取花名册字段组详情
- [x] 获取在职员工列表
-
考勤
-
应用管理
- [x] 获取应用列表
client.GetMicroAppList
- [x] 根据应用id获取小程序
client.GetMicroAppByAgentId
- [ ] 获取员工可见的应用列表
- [ ] 设置应用的可见范围
- [x] 获取应用可见范围
client.GetMicroAppVisibleScopes
- [x] 获取应用列表
-
群机器人
- [x] 自定义机器人接入 基本的消息类型都已经支持并完成测试
-
AI
- [x] 文本翻译
- [x] OCR文字识别
- [x] ASR 一句话语音识别
-
文件存储 (1/10)
- [x] 上传媒体文件
client.MediaUpload
- [ ] 新增文件到用户自定义空间
- [ ] 发送钉盘文件给指定用户
- [ ] 获取企业下的自定义空间
- [ ] 获取应用自定义空间使用详情
- [ ] 授权用户访问企业的自定义空间
- [ ] 单步文件上传
- [ ] 开启分块上传事务
- [ ] 提交文件上传事务
- [ ] 上传文件块
- [x] 上传媒体文件
-
回调接口
- [x] 注册回调事件
client.RegisterEvent
- [x] 获取推送失败的事件列表
client.GetRegisterFailedEvent
- [x] 更新事件接口
client.UpdateRegisterEvent
- [x] 查询订阅事件
client.UpdateRegisterEvent
- [x] 删除事件回调接口
client.DeleteRegisterEvent
- [x] 注册回调事件