创建和配置应用 先有应用我们才能一起玩
dingtalk 是基于新版的 钉钉开发平台api文档 开发,也就是说在你使用之前是需要在钉钉开发者后台 创建一个小程序或应用
首先我要感谢 godingtalk 库,我是参考他的代码写的。但是由于钉钉历史原因,很多api都更新了,其次就是我有很多钉钉预警的业务需要做,于是就写了这个
go get github.com/zhaoyunxing92/dingtalk/v2client := 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
- 注册回调事件