C#如何在钉钉开发平台中创建部门
钉钉是阿里巴巴专为中小企业和团队打造的沟通、协同的多端平台,钉钉开放平台旨在为企业提供更为丰富的办公协同解决方案。通过钉钉开放平台,企业或第三方合作伙伴可以帮助企业快速、低成本的实现高质量的移动微应用,实现生产、管理、协作、运营的移动化。官网的列子往往都是java,php和nodejs的,下面我用c#来实现一个简单的列子,来说明如何与钉钉进行交互:
1 创建一个网站:
其中官网有如何进行账号注册等开发的准备工作,这里不阐述。假设你已经成功申请了企业账号,然后获取了CorpId和CorpSecret。这里我创建一个DDConfig类来保存这两个值.
2 编写DDHelper类
DDHelper类主要为了与钉钉API进行交互,实现Get和Post请求处理,代码如下:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.IO; 6 using HttpRequest; 7 namespace myDDDev 8 { 9 public static class DDHelper 10 { 11 public static string GetAccessToken(HttpRequest.HttpHelper.HttpResult result) 12 { 13 14 if (result!=null) 15 { 16 StreamReader myStreamReader = new StreamReader(result.Result, System.Text.Encoding.GetEncoding("utf-8")); 17 string retString = myStreamReader.ReadToEnd(); 18 19 M_AccessToken oat = Newtonsoft.Json.JsonConvert.DeserializeObject< M_AccessToken>(retString); 20 21 if (oat!=null) 22 { 23 if(oat.errcode==0) 24 { 25 return oat.access_token; 26 } 27 } 28 } 29 return ""; 30 } 31 public static string GetAccessToken(string url) 32 { 33 34 if (url != "") 35 { 36 try 37 { 38 HttpRequest.HttpHelper.HttpResult result = HttpRequest.HttpHelper.Get(url); 39 M_AccessToken oat = Newtonsoft.Json.JsonConvert.DeserializeObject<M_AccessToken>(result.ToStringResult()); 40 41 if (oat != null) 42 { 43 if (oat.errcode == 0) 44 { 45 return oat.access_token; 46 } 47 } 48 } 49 catch(Exception ex) 50 { 51 throw; 52 } 53 } 54 return ""; 55 } 56 57 public static string CreateDept(string url,string param) 58 { 59 60 if (url != "") 61 { 62 try 63 { 64 HttpRequest.HttpHelper.HttpResult result = HttpRequest.HttpHelper.Post(url, param, "application/json"); 65 DDResult oat = Newtonsoft.Json.JsonConvert.DeserializeObject<DDResult>(result.ToStringResult()); 66 67 if (oat != null) 68 { 69 if (oat.errcode == 0) 70 { 71 return "0"; 72 } 73 } 74 } 75 catch (Exception ex) 76 { 77 throw; 78 } 79 } 80 return "1"; 81 } 82 83 84 85 } 86 //{"access_token":"","errcode":0,"errmsg":"ok"} 87 public class M_AccessToken 88 { 89 public string access_token { get; set; } 90 public int errcode { get; set; } 91 92 public string errmsg { get; set; } 93 94 95 } 96 public class DDResult 97 { 98 99 public int errcode { get; set; } 100 public string errmsg { get; set; } 101 102 103 } 104 }
3 创建部门处理
在index.aspx.cs中编写创建部门的逻辑,代码如下:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 using System.IO; 8 using HttpRequest; 9 namespace myDDDev 10 { 11 public partial class index : System.Web.UI.Page 12 { 13 protected void Page_Load(object sender, EventArgs e) 14 { 15 try 16 { 17 //http://ddtalk.github.io/dingTalkDoc/ 18 //获取AccessToken 19 //开发者在调用开放平台接口前需要通过CorpID和CorpSecret获取AccessToken。 20 //获取AccessToken的方法是向 https://oapi.dingtalk.com/gettoken?corpid=id&corpsecret=secrect GET请求。 21 string getUrl = string.Format("https://oapi.dingtalk.com/gettoken?corpid={0}&corpsecret={1}", DDConfig.__CorpID, DDConfig.__CorpSecret); 22 23 //access_token 会失效,需要定期获取; 24 string access_token = DDHelper.GetAccessToken(getUrl); 25 26 /* 27 开发者获取AccessToken后便可以调用开放平台其他接口。 28 以获取部门列表接口为例,获取部门列表接口为: 29 oapi.dingtalk.com/department/list 30 在请求该接口时,需要将获取的AccessToken作为请求参数拼装到URL中: 31 https://oapi.dingtalk.com/department/list?access_token=ACCESS_TOKEN 32 */ 33 //添加部门测试 34 string postUrl = string.Format("https://oapi.dingtalk.com/department/create?access_token={0}", access_token); 35 string param = "{\"access_token\":\"" + access_token + "\",\"name\":\"后勤部\",\"parentid\":\"1\",\"order\":\"3\",\"createDeptGroup\":\"false\"}"; 36 //HttpRequest.HttpHelper.HttpResult result = HttpRequest.HttpHelper.Post(postUrl, param, "application/json"); 37 //Response.Write(result.ToStringResult()); 38 //code=0 表示创建从成功 39 string code = DDHelper.CreateDept(postUrl, param); 40 if(code=="0") 41 { 42 Response.Write("创建成功"); 43 } 44 } 45 catch(Exception ex) 46 { 47 Response.Write(ex.Message); 48 } 49 } 50 } 51 } 52
4 手机验证
在手机上用钉钉客户端查看是否创建部门成功,如下图所示:
转载于:https://www.cnblogs.com/isaboy/p/c_ddtalk_api_open.html
C#如何在钉钉开发平台中创建部门相关推荐
- 阿里云---云开发平台的创建与部署
阿里云-云开发平台的创建与部署及域名绑定 步骤 登陆 阿里云 创建 云开发平台应用 选择开发语言和创建方式,这里我选择建立一个Python的Demo 填写应用的详细信息.如图所示,计算服务选择SAE. ...
- 阿里云云开发平台的创建与部署
阿里云云开发平台的创建与部署 阿里云云开发平台的创建与部署 首先我们要登录阿里云 然后创建 云开发平台应用 接下来我们选择开发语言和创建方式 接下来开通依赖的服务 之后我们部署日常环境的应用配置 接下 ...
- 阿里云--云开发平台的创建与部署
阿里云-云开发平台的创建与部署及域名绑定 步骤 1.登录阿里云 2.创建新应用 3.选择开发语言和创建方式,这里我选择建立一个JAVA的Demo 4.填写应用的详细信息.如图所示,计算服务选择SAE. ...
- 为什么调用webservice接口只有 string arg0_快速开发平台中关于支持第三方接口开发的指导
说明: 本示例中的代码和截图可能和您现在手中的版本不同,但操作思路一样. 以下例子要自己写代码,是写死的那种代码类型,请根据自己实际业务编写代码只是作为参考,不能直接调用 背景介绍 表单或者列表部分数 ...
- DingTalk「开发者说」 5分钟开发钉钉应用
一.钉钉应用开发平台是什么? 钉钉应用开发平台是开发在钉钉容器内运营的应用.钉钉应用是业务数字化的高价值载体,云钉一体能力底座全面普惠,释放数字化生产力量,加速组织业务数字化转型,打造企业数字化统一办 ...
- 【浙政钉】微信-专有钉钉小程序-开发踩坑实记
文章目录 ⭐[浙政钉]微信-专有钉钉小程序-开发踩坑实记 ⭐ 创建项目 ⭐ 转化方案 ⭐ 政务钉钉调试 ⭐ 上传发布 ⭐[浙政钉]微信-专有钉钉小程序-开发踩坑实记 最近有个需求,要将微信小程序转为浙 ...
- 推荐一款快速开发平台,web中最好的快速开发平台
力软快速开发平台是力软自主开发的基于SOA面向服务的应用系统开发平台,可以方便快捷的搭建企业.医院.工厂.学校等行业的企业级运营管理平台.平台采用.net.技术架构,webapi服务搭建. 力软快速开 ...
- 最近在推广一款快速开发平台,C/S架构中最好的快速开发平台
度量快速开发平台,是度量科技自主开发的基于SOA面向服务的应用系统开发平台,可以方便快捷的搭建企业.医院.工厂.学校等行业的企业级运营管理平台.平台采用.net.技术构架,webservice服务搭建 ...
- 阿里云西安ACE同城会 | 钉钉生态应用促进企业信息化实战沙龙
简介:未来的企业应用是什么样子,如何让企业员工0成本低代码搭建企业自己的系统,现在由企业实现贴合自身业务发展的系统,变得如此简单.我们请来阿里钉钉事业部的资深专家为我们讲解融合云原生.钉原生与生态aP ...
最新文章
- python 列表生成器 获取文件列表
- 运维工程师仪表免费换新活动开始了…任何品牌万用表、钳表、测温仪都可以换福禄克万用表、钳表、测温仪...
- 13.4.虚拟化工具--jmap详解
- 分享:游戏新手引导程序框架设计3要点
- 图形工具包 linux,GTK 4.0图形工具包正式发布:时隔四年的重大版本!
- 腾讯2013实习生笔试题+答案1-5aadaa 6-10adbcc 11-15 acacc16-20 bbddc
- ubuntu支持中文设置
- 里程碑式突破!我国量子计算原型机“九章”问世
- Python使用装饰器捕获异常
- 设计模式学习笔记(5) - 策略模式
- PASCAL VOC数据集简介
- NSIS 封装软件工具封装的软件,安装后快捷方式没有图标显示问题
- 遗传算法--适应度尺度变换
- 大学计算机课挂科补考,【挂科的同学请注意!】关于本学期补考、缓考的通知(转)...
- ad18常用快捷键可以修改吗_AD18的常用操作及快捷键
- python第七天作业
- openerp环境的搭建
- apicloud总结
- 【JY|理念】结构概念设计之(设计理念进展)
- 百度BD09加密经纬度转国测局GCJ02经纬度