1 Star 0 Fork 12

有来有去/:O / ddtalk_ldap

forked from single_yang / ddtalk_ldap 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
ddtalk.py 2.17 KB
一键复制 编辑 原始数据 按行查看 历史
single_yang 提交于 2021-03-08 11:39 . update ddtalk.py.
import requests
from settings import AppKey, AppSecret
# 获取钉钉token
class Authenticate:
def __init__(self, func):
self.func = func
def __call__(self, *args, **kwargs):
url = 'https://oapi.dingtalk.com/gettoken?appkey={}&appsecret={}'.format(AppKey, AppSecret)
response = requests.get(url)
if response.status_code == 200:
res = response.json()
token = res['access_token']
if len(args) == 0:
return self.func(token)
else:
return self.func(token, args[0])
else:
raise Exception('Authentication failed')
class DingTalk:
# 获取department_id与组织架构对应关系
@staticmethod
@Authenticate
def get_department_list(token):
url = 'https://oapi.dingtalk.com/department/list?access_token={}'.format(token)
response = requests.get(url)
if response.status_code == 200:
res = response.json()['department']
dpt_dict = {}
for dpt in res:
dpt_dict[dpt['id']] = dpt['name']
return dpt_dict
else:
return {}
# 获取父级部门的department_id
@staticmethod
@Authenticate
def get_parentIds(token, Id):
url = 'https://oapi.dingtalk.com/department/list_parent_depts_by_dept?access_token=%s&id=%s' % (
token, Id)
response = requests.get(url)
if response.json()['errcode'] == 0:
parentIds = response.json()['parentIds']
if len(parentIds) > 1:
return parentIds[1]
else:
return parentIds[0]
else:
return False
# 获取部门所有员工的usrid
@staticmethod
@Authenticate
def get_userid_list(token, department_id):
url = "https://oapi.dingtalk.com/user/simplelist?access_token={}&department_id={}".format(
token, department_id)
response, userIdList = requests.get(url).json(), []
if response['errcode'] == 0:
for user in response["userlist"]:
userIdList.append(user['userid'])
return userIdList
else:
return []
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/weyoung3350/ddtalk_ldap.git
git@gitee.com:weyoung3350/ddtalk_ldap.git
weyoung3350
ddtalk_ldap
ddtalk_ldap
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891