创建和配置应用 先有应用我们才能一起玩
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
 
-  注册回调事件 
