钉钉提供了两个API来获取部门信息。
1.获取子部门ID列表:
2.获取部门列表:
要根据用户ID获取部门ID,可以使用钉钉的API接口。具体步骤如下:
import requests
# 设置钉钉的API地址和访问令牌
api_url = "https://oapi.dingtalk.com"
access_token = "YOUR_ACCESS_TOKEN"
# 构建请求参数
params = {
"access_token": access_token,
"userid": "USER_ID" # 替换为实际的用户ID
}
# 发送请求获取用户信息
response = requests.get(f"{api_url}/user/getuserinfo", params=params)
data = response.json()
# 提取部门ID
department_id = data["department"]["id"]
print("部门ID:", department_id)
YOUR_ACCESS_TOKEN
替换为你自己的钉钉访问令牌,将USER_ID
替换为要查询的用户ID。运行代码后,将会输出该用户的部门ID。请注意,以上代码仅为示例,实际使用时需要根据具体情况进行调整和修改。另外,确保你已经正确配置了钉钉的API地址和访问令牌。
调用本接口获取指定用户的详细信息。https://open.dingtalk.com/document/orgapp/query-user-details
请求示例(JAVA SDK)
```public class Main {
public static void main(String[] args) {
try {
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/get");
OapiV2UserGetRequest req = new OapiV2UserGetRequest();
req.setUserid("001");
req.setLanguage("zh_CN");
OapiV2UserGetResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());
} catch (ApiException e) {
e.printStackTrace();
}
}
}
```
dept_id就是部门ID
在钉钉中,可以通过调用钉钉开放平台提供的API来根据用户ID获取用户所在的部门ID。具体的接口调用流程如下:
首先,确保你的应用已经获取到了用户的授权,拥有了用户的UserID。
使用钉钉的“获取用户详情”API,例如:user/get
接口,传入用户的UserID作为参数。
API调用示例(以HTTP GET为例,实际开发中请使用钉钉官方提供的SDK,以下仅为示意):
POST https://oapi.dingtalk.com/topapi/v2/user/get?access_token=ACCESS_TOKEN
请求正文
{
"language":"zh_CN",
"userid":"zhangsan"
}
这里的ACCESS_TOKEN
是通过企业级应用的AppKey和AppSecret获取的访问令牌,USER_ID
是你想要查询的用户的UserID。
dept_id_list
字段,可能是一个数组,代表用户可能属于多个部门)。版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。