钉钉官方接口调用过程
Posted 杀手不太冷!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了钉钉官方接口调用过程相关的知识,希望对你有一定的参考价值。
文章目录
钉钉官方接口调用过程
获取企业内部应用的访问凭证accessToken
首先需要引入依赖,如下图:
钉钉开发者调用钉钉官方的接口的时候,一定要先要进行认证,什么意思呢?就是必须要告诉钉钉我是一个企业开发者,我有权限调用你的接口,那具体怎么认证呢?企业开发者通常可以在钉钉里面创建应用,我们需要把我们的应用的appKey键和appSecret告诉钉钉官方,这样钉钉官方就会给我们返回一个accessToken值,有了这个token认证,钉钉官方就会允许我们调用它们的接口了。
代码如下:
package com.eqianbao.dingtest.DingDingTest;
import com.aliyun.tea.*;
import com.aliyun.dingtalkoauth2_1_0.models.*;
import com.aliyun.teaopenapi.models.*;
/**
* @Date 2021/10/11 17:08
* @Author 望轩
*/
public class accessToken {
/**
* 使用 Token 初始化账号Client
* @return Client
* @throws Exception
* 钉钉开发者调用钉钉官方的接口的时候,一定要先要进行认证,什么意思呢?就是必须要告诉钉钉我是一个企业开发者,我有权限调用
* 你的接口,那具体怎么认证呢?企业开发者通常可以在钉钉里面创建应用,我们需要把我们的应用的appKey键和appSecret告诉钉钉官方,
* 这样钉钉官方就会给我们返回一个accessToken值,有了这个token认证,钉钉官方就会允许我们调用它们的接口了。
*/
public static com.aliyun.dingtalkoauth2_1_0.Client createClient() throws Exception {
Config config = new Config();
config.protocol = "https";
config.regionId = "central";
return new com.aliyun.dingtalkoauth2_1_0.Client(config);
}
public static String getAccessToken() throws Exception {
java.util.List<String> args = java.util.Arrays.asList();
com.aliyun.dingtalkoauth2_1_0.Client client = accessToken.createClient();
GetAccessTokenRequest getAccessTokenRequest = new GetAccessTokenRequest()
.setAppKey("dingodbyu1e5hxjl1eia")
.setAppSecret("dBagtGBojKqmHOrVOOe3lR1rnoYWr3mAP_HjMmUutdLke2svyaDUfs4Eor1LvYl_");
try {
GetAccessTokenResponse response=client.getAccessToken(getAccessTokenRequest);
//输出我们得到的accessToken的值
System.out.println(response.getBody().getAccessToken());
return response.getBody().getAccessToken();
} catch (TeaException err) {
if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) {
// err 中含有 code 和 message 属性,可帮助开发定位问题
}
} catch (Exception _err) {
TeaException err = new TeaException(_err.getMessage(), _err);
if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) {
// err 中含有 code 和 message 属性,可帮助开发定位问题
}
}
return null;
}
public static void main(String[] args) throws Exception {
System.out.println(getAccessToken());
}
}
根据员工的企业UserId获取钉钉官方的unionId唯一性id
首先我们需要导入一个包,如下图:
并且我们需要调用一个钉钉官方接口,https://oapi.dingtalk.com/topapi/v2/user/get,调用钉钉官方接口的代码如下:
package com.eqianbao.dingtest.DingDingTest;
import com.dingtalk.api.DefaultDingTalkClient;
import com.dingtalk.api.DingTalkClient;
import com.dingtalk.api.request.OapiV2UserGetRequest;
import com.dingtalk.api.response.OapiV2UserGetResponse;
/**
* @Date 2021/10/11 17:24
* @Author 望轩
*/
public class unionId {
public static void main(String[] args) throws Exception {
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/get");
OapiV2UserGetRequest req = new OapiV2UserGetRequest();
req.setUserid("94937509bd53d2b7a64ba5f157e5ff17");
req.setLanguage("zh_CN");
OapiV2UserGetResponse rsp = client.execute(req, accessToken.getAccessToken());
System.out.println(rsp.getResult().getUnionid());
}
}
UserId的获取方法
appKey和appSecret的获取方法
然后点进相关的应用,如下图:
易错点
在调用钉钉企业的接口的得到unionId的接口的时候,如下图:
去开发者平台开启权限,如下图:
以上是关于钉钉官方接口调用过程的主要内容,如果未能解决你的问题,请参考以下文章