老规矩,先上一波标题,哈哈哈!
作为开发者首先你想要开发你自己的应用你就应该先去看看钉钉,然后有不懂的问题再去搜!
附上链接[https://ding-doc.dingtalk.com/doc#/serverapi2/eev437](https://ding-doc.dingtalk.com/doc#/serverapi2/eev437)
我就不那多么话了直接上代码!我这个是直接从钉钉粘贴过来的,流程,你可以当我是知识的搬运工,只不过我给你简洁了流程
使用下面钉钉的依赖我也给你放在最下面的了,前端的代码贴图后续也贴上!
**首先我们先获取到code,既然钉钉说的前端应用内免登录能简单省事为什么不呢?**
//第一条获取用户信息的链接
public static final String GET_USERINFO_URL = "https://oapi.dingtalk.com/user/getuserinfo";
/*
这里的code是前端免登录方法获取到的code,前端获取到code以后回调这个你的login登录接口
你自己通过code调用getuserinfo方法。
*/
public String getUserInfo(String code) {
try {
//钉钉的方法,我就直接拿过来用了,如果你比较傲娇也可以自己发送http请求都是一样的
DingTalkClient client = new DefaultDingTalkClient(GET_USERINFO_URL);
OapiUserGetuserinfoRequest request = new OapiUserGetuserinfoRequest();
//设置参数code
request.setCode(code);
request.setHttpMethod("GET");
//这里的getAccesstoken方法是获取token的方法,下面我会附上获取token的方法
OapiUserGetuserinfoResponse response = client.execute(request, getAccessToken());
//用钉钉的api是真香啊!
String userId = response.getUserid();
System.out.println("jsonObject:" + response.toString());
// 3.错误消息处理
if (null != response) {
if (0 != response.getErrcode()) {
return null;
}
}
return userId;
} catch (ApiException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
下面是获取token的方法,maven依赖方法还在下面
//不写注释自己看着难受
//获取token的信息
public static final String ACCESS_TOKEN_URL = "https://oapi.dingtalk.com/gettoken";
public String getAccessToken() {
try {
DefaultDingTalkClient client = new DefaultDingTalkClient(ACCESS_TOKEN_URL);
OapiGettokenRequest request = new OapiGettokenRequest();
//这里放你自己的key在企业里边有
request.setAppkey(appkey);
request.setAppsecret(appsecret);
request.setHttpMethod("GET");
OapiGettokenResponse response = client.execute(request);
//直接就返回token了香不香!
return response.getAccessToken();
} catch (ApiException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
这里是maven依赖 - -!
##放着一个依赖基本上上面的就都能用了。
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>alibaba-dingtalk-service-sdk</artifactId>
<version>1.0.1</version>
</dependency>
基本上每个应用的集成开发流程大体上都差不多,完成不重要,重要的是你自己的思路