dingtalk-sdk 使用文档

dingtalk-sdk 是一个钉钉开放平台的第三方 Python SDK, 实现了 企业内部开发 和 应用服务商(ISV)的 API。

快速入门

未实现接口

由于钉钉接口过多,文档较分散,有未实现的接口可以提交 Issues, sdk未更新时候可根据下面代码临时使用 post/get接口中的access_token,top接口中的session会在请求时自动设置,无需手动添加

class dingtalk.client.base.BaseClient(storage=None, timeout=None, auto_retry=True)[源代码]
get(uri, params=None, **kwargs)[源代码]

get 接口请求

参数:
  • uri – 请求url
  • params – get 参数(dict 格式)
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

示例项目

django demo

Changelogs