栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

钉钉官方接口调用过程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

钉钉官方接口调用过程

文章目录
  • 钉钉官方接口调用过程
    • 获取企业内部应用的访问凭证accessToken
    • 根据员工的企业UserId获取钉钉官方的unionId唯一性id
    • UserId的获取方法
    • appKey和appSecret的获取方法
    • 易错点

钉钉官方接口调用过程 获取企业内部应用的访问凭证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.*;


public class accessToken {
    
    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 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;


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的接口的时候,如下图:

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/317966.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号