- 钉钉的接入和微信公众号基本时一致的,唯一不同的是微信很难拿到手机号且公众号接口的权限和账号本身特性有关,而钉钉拿到手机号还是很容易的,并且钉钉接口的权限只需要申请就可以了。
- 首先我们注册一个后台账号并登陆进去创建一个企业内部应用。我这里就是创建的test应用。
- 到这里我们就拥有了CorpId,AgentId,AppKey,AppSecrect四个参数了。这四个参数在不同的地方分别被使用。都说了和微信是一个套路,那么剩下的自然是需要我们配置权限管理。
- 下面是我针对目前功能所开通的权限。如果你嫌麻烦那就所有权限全部开通。
接口 | 权限点code | 全部状态筛选 | 操作 |
个人手机号信息 | 获取用户个人信息 | Contact.User.mobile | 已开通 |
通讯录个人信息读权限 | 获取用户通讯录个人信息 | Contact.User.Read | 已开通 |
调用SNS API时需要具备的基本权限 | 查询个人授权记录 | snsapi_base | 已开通 |
企业员工手机号信息 | fieldMobile | 已开通 | |
通讯录部门信息读权限 | 获取部门详情;获取指定用户的所有副部门列表;获取部门列表;获取指定部门的所有父部门列表;查看更多 | qyapi_get_department_list | 已开通 |
成员信息读权限 | 获取用户高管模式设置;查询用户详情;获取部门用户userid列表;获取管理员列表;查看更多 | qyapi_get_member | 已开通 |
根据手机号姓名获取成员信息的接口访问权限 | 根据手机号获取userid | qyapi_get_member_by_mobile | 已开通 |
通讯录部门成员读权限 | 查询部门用户完整信息;获取部门用户基础信息;获取角色详情;获取指定角色的员工列表 | qyapi_get_department_member | 已开通 |
调用企业API基础权限 | 生成jsapi ticket;生成微应用管理后台accessToken;查询连接器主数据详情;分页拉取连接器主数据;查看更多 | qyapi_base | 已开通 |
待办应用中待办写权限 | 更新待办执行者状态;新增钉钉待办任务;更新钉钉待办任务;删除钉钉待办任务 | Todo.Todo.Write | 已开通 |
待办应用中待办读权限 | 查询企业下用户待办列表;根据sourceId获取钉钉待办任务详情;获取钉钉待办任务详情 | Todo.Todo.Read | 已开通 |
- 钉钉和公众号不同的是,钉钉细分很多,树形结构一直递归下去。和微信公众号一样我们也需要获取企业下(公众号)列表。
@Test
public void getDeptListTest() {
final List<OapiV2DepartmentListsubResponse.DeptBaseResponse> deptBaseResponses = deptService.selectDeptList(null);
for (OapiV2DepartmentListsubResponse.DeptBaseResponse deptBaseRespons : deptBaseResponses) {
System.out.println(json.toJSONString(deptBaseRespons));
}
}
- 如果行获取跟部门下的用户列表我们deptId=1或者不传。