创建和配置应用 先有应用我们才能一起玩
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))
在NewClient
的时候如果调用了WithTicket
和WithCorpId
则判定为是isv
正如你所见钉钉的文档太多了,欢迎大家来提交pr,怎么提交pr
-
获取凭证
- 获取企业内部应用的access_token
client.GetAccessToken
- 服务商获取第三方应用授权企业的access_token
client.GetCorpAccessToken
- 获取第三方企业应用的suite_access_token
client.GetSuiteAccessToken
- 获取jsapi_ticket
client.GetJsApiTicket
- 获取微应用后台免登的SsoToken
client.GetSSOToken
- 获取企业内部应用的access_token
-
通讯录管理
-
用户管理
- 创建用户
client.CreateUser
- 删除用户
client.DeleteUser
- 更新用户详情
client.UpdateUser
- 根据userid获取用户详情
client.GetUserDetail
- 获取部门用户基础信息
client.GetDeptSimpleUserInfo
- 获取部门用户userid列表
client.GetDeptUserIds
- 获取部门用户详情
client.GetDeptDetailUserInfo
- 获取员工人数
client.GetUserCount
- 获取未登录钉钉的员工列表
client.GetInactiveUser
- 根据手机号获取userid
client.GetUserIdByMobile
- 根据unionid获取用户userid
client.GetUserIdByUnionId
- 获取管理员列表
client.GetOrgAdminUser
- 获取管理员通讯录权限范围
client.GetOrgAdminScope
- 获取管理员的应用管理权限
client.GetUserCanAccessApplet
- 创建用户
-
部门管理
- 创建部门
client.CreateDept
- 更新部门
client.UpdateDept
- 删除部门
client.DeleteDept
- 获取部门详情
client.GetDeptDetail
- 获取部门列表
client.GetDeptList
- 获取子部门Id列表
client.GetSubDeptList
- 获取指定部门的所有父部门列表
client.GetParentIdsByDeptId
- 获取指定用户的所有父部门列表
client.GetParentIdsByUserId
- 支持递归获取部门列表
client.FetchDeptList
- 创建部门
-
角色管理
- 创建角色
client.CreateRole
- 创建角色组
client.CreateRoleGroup
- 更新角色
client.UpdateRole
- 批量增加员工角色
client.BatchAddUserRole
- 删除角色
client.DeleteRole
- 批量删除员工角色
client.BatchRemoveUserRole
- 批量删除员工角色
client.BatchRemoveUserRole
- 设定角色成员管理范围
client.SetUserRoleManageScope
官方接口不通 - 获取角色组列表
client.GetGroupRoles
- 获取角色列表
client.GetRoleList
- 获取角色详情
client.GetRoleDetail
- 获取指定角色的员工列表
client.GetRoleUserList
- 创建角色
-
外部联系人
-
-
群会话管理
-
消息通知
-
工作通知
- 使用模板发送工作通知消息
client.SendTemplateMessage
- 发送工作通知
client.SendCorpConvMessage
- 更新工作通知状态栏
client.UpdateCorpConvMessageStatus
- 获取工作通知消息的发送进度
client.GetCorpConvMsgProgress
- 获取工作通知消息的发送结果
client.GetMessageSendResult
- 撤回工作通知消息
client.RecallCorpConvMessage
- 使用模板发送工作通知消息
-
企业群消息
- 发送消息到企业群
client.SendChatMessage
- 查询群消息已读人员列表
client.GetChatMsgReadUser
- 发送消息到企业群
-
普通消息
- 发送普通消息
client.SendMessage
- 发送普通消息
-
-
身份验证
- 通过免登码获取用户信息
client.GetUserInfoByCode
- 获取应用管理员的身份信息
client.GetSSOUserInfo
- 根据sns临时授权码获取用户信息
- 通过免登码获取用户信息
-
应用授权
- 激活应用
client.ActivateSuite
- 获取授权应用的基本信息
client.GetAgentInfo
- 获取企业授权信息
client.GetAuthInfo
- 获取授权企业的永久授权码
client.GetCorpPermanentCode
- 获取应用未激活的企业列表
client.GetUnactiveCorpIds
- 重新授权未激活应用的企业
client.ReauthCorp
- 激活应用
-
待办任务
- 新增钉钉待办任务
client.CreateTodo
- 获取钉钉待办任务详情
client.GetTodoDetail
- 删除钉钉待办任务
client.DeleteTodo
- 更新钉钉待办任务
client.UpdateTodo
- 更新钉钉待办执行者状态
client.UpdateTodoDone
- 根据sourceId获取钉钉待办任务详情
client.GetTodoListBySourceId
- 查询企业下用户待办列表
client.GetTodoList
- 新增钉钉待办任务
-
钉盘
- 空间管理
- 文件管理
- 权限管理
- 回收站
-
智能人事
- 获取在职员工列表
client.GetHrmEmployee
- 获取待入职员工列表
client.GetHrmToBeHiredEmployee
- 获取离职员工列表
client.GetHrmResignEmployeeIds
- 获取员工离职信息
client.GetHrmResignEmployee
- 添加企业待入职员工
client.HrmCreateEmployee
- 花名册
- 获取花名册字段组详情
client.GetHrmField
- 获取员工花名册字段信息
client.GetHrmEmployeeField
- 更新员工花名册信息
client.UpdateHrmEmployeeField
- 获取花名册元数据
client.GetHrmMeta
- 获取花名册字段组详情
- 获取在职员工列表
-
考勤
-
应用管理
- 获取应用列表
client.GetMicroAppList
- 根据应用id获取小程序
client.GetMicroAppByAgentId
- 获取员工可见的应用列表
- 设置应用的可见范围
- 获取应用可见范围
client.GetMicroAppVisibleScopes
- 获取应用列表
-
群机器人
- 自定义机器人接入 基本的消息类型都已经支持并完成测试
-
AI
-
文件存储 (1/10)
- 上传媒体文件
client.MediaUpload
- 新增文件到用户自定义空间
- 发送钉盘文件给指定用户
- 获取企业下的自定义空间
- 获取应用自定义空间使用详情
- 授权用户访问企业的自定义空间
- 单步文件上传
- 开启分块上传事务
- 提交文件上传事务
- 上传文件块
- 上传媒体文件
-
回调接口
- 注册回调事件
client.RegisterEvent
- 获取推送失败的事件列表
client.GetRegisterFailedEvent
- 更新事件接口
client.UpdateRegisterEvent
- 查询订阅事件
client.UpdateRegisterEvent
- 删除事件回调接口
client.DeleteRegisterEvent
- 注册回调事件