钉钉官方提供了统一的SDK,使用SDK可以便捷地调用服务端API。注意:此SDK包含原有TOP接口,原有TOP接口可以继续正常调用,没有影响。
SDK请求示例
下面是使用SDK调用API的请求示例:
Java:
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/get"); OapiUserGetRequest req = new OapiUserGetRequest(); req.setUserid("userid1"); req.setHttpMethod("GET"); OapiUserGetResponse rsp = client.execute(req, accessToken);
PHP:
include "TopSdk.php"; // DingTalkConstant::$METHOD_GET 要与下面调用接口url要求的保持一致 $c = new DingTalkClient(DingTalkConstant::$CALL_TYPE_OAPI, DingTalkConstant::$METHOD_GET , DingTalkConstant::$FORMAT_JSON); $req = new OapiUserGetRequest(); $req->setUserid("userid1"); $resp=$c->execute($req, $accessToken,"https://oapi.dingtalk.com/user/get"); var_dump($resp)
Python:
import dingtalk.api request = dingtalk.api.OapiGettokenRequest("https://oapi.dingtalk.com/user/get") request.userid="userid1" response = request.getResponse() print(response)
.NET:
IDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/get"); OapiUserGetRequest req = new OapiUserGetRequest(); req.Userid = "userid1"; req.SetHttpMethod("GET"); OapiUserGetResponse rsp = client.Execute(req, accessToken);
请求示例说明:
(1)定义Client对象,设置接口地址URI。一般情况,无需拼接URL后面的参数,比如access_token;需要注意部分Post接口,需要在URI后拼接除access_token外的个别参数。
(2)构造Request对象,接口对应的request对象,一般规则是Oapi+接口Path驼峰形式+Request,如/user/get接口,请求对象是OapiUserGetRequest。
(3)调用Request的方法设置参数,注意参数HttpMethod,默认是POST,如果是GET类型接口,需要这样设置request.setHttpMethod("GET")。
(4)调用client.execute执行,其中access_token同样可以使用SDK获取到。同时,/gettoken,/sns/gettoken,
/service/get_suite_token等获取token的接口在调用execute时,无需再传token参数。
(5)执行后得到Response对象,是与Request对应的,然后可获取执行结果。
SDK下载
环境依赖
(1)Java SDK 需要依赖 Java SE/EE 1.5及以上
(2).NET SDK 需要依赖 .NET framework 2.0及以上 (不支持Windows Phone平台)
Java版本 点击下载
PHP版本 点击下载
Python版本 点击下载
Python3版本 点击下载
.NET版本 点击下载
.NET Core版本 点击下载
SDK Maven仓库
环境准备
适用于JDK 6及以上版本。
安装SDK
添加Maven仓库
添加依赖



