钉钉官方接口调用过程

本文介绍了如何通过钉钉官方接口获取企业应用的访问凭证accessToken,以及利用accessToken获取员工的unionId唯一标识。首先,开发者需要在钉钉中创建应用并获取appKey和appSecret,然后通过这些信息调用接口获取accessToken。接着,使用accessToken调用用户信息接口获取unionId。注意在调用获取unionId接口前,需在开发者平台开启相应权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

钉钉官方接口调用过程

获取企业内部应用的访问凭证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的接口的时候,如下图:

在这里插入图片描述

去开发者平台开启权限,如下图:

在这里插入图片描述

在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr-X~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值