dingtalk-sdk 使用文档¶
dingtalk-sdk 是一个钉钉开放平台的第三方 Python SDK, 实现了 企业内部开发 和 应用服务商(ISV)的 API。
应用服务商(ISV)¶
未实现接口¶
由于钉钉接口过多,文档较分散,有未实现的接口可以提交 Issues, sdk未更新时候可根据下面代码临时使用 post/get接口中的access_token,top接口中的session会在请求时自动设置,无需手动添加
-
class
dingtalk.client.base.
BaseClient
(storage=None, timeout=None, auto_retry=True)[源代码]¶ -
-
post
(uri, data=None, params=None, **kwargs)[源代码]¶ post 接口请求
参数: - uri – 请求url
- data – post 数据(dict 格式会自动转换为json)
- params – post接口中url问号后参数(dict 格式)
-
top_request
(method, params=None, format_='json', v='2.0', simplify='false', partner_id=None, url=None, **kwargs)[源代码]¶ top 接口请求
参数: - method – API接口名称。
- params – 请求参数 (dict 格式)
- format – 响应格式(默认json,如果使用xml,需要自己对返回结果解析)
- v – API协议版本,可选值:2.0。
- simplify – 是否采用精简JSON返回格式
- partner_id – 合作伙伴身份标识。
- url – 请求url,默认为 https://eco.taobao.com/router/rest
-
调用示例:
client = SecretClient('CORP_ID', 'CORP_SECRET')
# top 接口: 获取考勤组列表详情
ret = client._top_request(
'dingtalk.smartwork.attends.getsimplegroups',
{
"offset": 0,
"size": 10
}
)
has_more = ret.result.has_more
groups = ret.result.groups
# get 接口:获取子部门ID列表
ret = client.get(
'/department/list_ids',
{'id': 0}
)
sub_dept_id_list = ret.sub_dept_id_list
# post 接口:创建会话
return self._post(
'/chat/create',
{
'name': "群名称",
'owner': "zhangsan",
'useridlist': ["zhangsan", "lisi"]
}
)
chatid = ret.chatid