欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# 钉钉第三方开发接入

程序员文章站 2022-06-09 13:46:13
钉钉开放平台 本文是针对钉钉开放平台的基于dotNetCore服务端开发和配置的描述 钉钉可开发的程序包括 企业内部应用,第三方企业应用,第三方个人应用 一、环境搭建 1.钉钉开发需要企业钉钉账号,如果学习测试环境的话可以自己注册一个企业号。 2.根据需求创建程序。注意服务器出口IP,即Ip白名单, ......

本文是针对钉钉开放平台的基于dotnetcore服务端开发和配置的描述

钉钉可开发的程序包括 企业内部应用,第三方企业应用,第三方个人应用

一、环境搭建

  1.钉钉开发需要企业钉钉账号,如果学习测试环境的话可以自己注册一个企业号。

  2.根据需求创建程序。注意服务器出口ip,即ip白名单,开发环境设定为本地ip,生产环境则为服务器ip。[如图]

 

C# 钉钉第三方开发接入

C# 钉钉第三方开发接入

C# 钉钉第三方开发接入

 

 C# 钉钉第三方开发接入

 

  3.应用创建完成 得到 agentid,appkey,appsecret

  C# 钉钉第三方开发接入

二、环境测试

  1. sdk下载 项目引用sdk dll

  2. 获取部门测试是否成功 ps:(1)getaccesstoken方法为自定义获取accesstoken的方法。(2)svcresult为自定义的返回信息方法。

  

            defaultdingtalkclient client = new defaultdingtalkclient("https://oapi.dingtalk.com/department/list");
            oapidepartmentlistrequest request = new oapidepartmentlistrequest
            {
                id = "1" //默认第一级
            };
            request.sethttpmethod("get");
            oapidepartmentlistresponse response = client.execute(request, getaccesstoken());

            if (response.errcode != 0)
            {
                return svcresult.error($"{response.errmsg}[{response.errcode}]");
            }

            if (!response.department.any())
            {
                return svcresult.info("无数据");
            }

            var re = response.department.select(e => new dddepartmentinfodto()
            {
                autoadduser = e.autoadduser,
                createdeptgroup = e.createdeptgroup,
                id = e.id,
                name = e.name,
                parentid = e.parentid
            }).tolist();

            return svcresult.success(re);

C# 钉钉第三方开发接入

 

 

ok 测试成功,获取到了当前企业钉钉的所有部门。

 其他的请参考钉钉