![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
钉钉
文章平均质量分 84
_学而时习之_
这个作者很懒,什么都没留下…
展开
-
钉钉接口调用的莫名错误listOwnGroup
钉钉的H5微应用一直运转的好好的,昨天同事反映,出错了。使用了很多方法,都没有找到原因。后面再三排查后,发现很可能出现在接口的调用上,因为该错误的产生是一个按钮触发的,而按钮操作了之后,服务端并没有相应的日志,说明没有到后端,还是在前端。而该按钮只是调用了钉钉接口,于是怀疑是接口冲是。立即查了钉钉的API文档,发现接口多了两个参数,而之前开发的,一直是使用原有的接口和参数。原来的调用代码如下:dd.biz.chat.chooseConversationByCorpId({原创 2021-05-20 12:01:26 · 1376 阅读 · 0 评论 -
钉钉开发系列(四)获取JS票据
钉钉的客户端开发和服务端有一个重要的区别,服务端只需要得到access_token就可以了,而客户端还需要进一步换取jsticket。所以我们要进行客户端的开发,第一步就是得到jsticket。又由于jsticket有7200秒的限制,而且每请求一次前面的就会失效,为此我们需要做一个缓存层来保存。首先我们来看缓存层的代码using System;using System.Collecti原创 2016-05-23 17:59:36 · 5076 阅读 · 7 评论 -
钉钉开发系列(十三)SVN机器人通知
在《钉钉开发系列-机器人》中已经介绍了钉钉机器人的创建与通知,那SVN提交时是否也可以自动发出通知呢?我们来思考一下原理,钉钉机器人的通知,本质上就是调用一个URL,然后POST数据,如果SVN中能够调起该URL并POST,那么理论上就应可以的。现在我们来开始实践。我们用的是VisualSVN-Server作为SVN的服务器,SVN客户端用TortoiseSVN。在VisualSVN-Serv原创 2017-06-14 17:19:21 · 3843 阅读 · 1 评论 -
钉钉开发系列(十二)机器人
钉钉的每个群都可以建若干个机器人,有默认的比如github,也可以自定义。我们使用自定义,建立自己的机器人,然后得到一串的URL,只要向这个URL进行POST请求后,就能将消息通知到对应的群中。机器人的创建可以参照官方的文档。发送通知的代码如下 private string WEB_HOOK = "https://oapi.dingtalk.com/robot/send?access_to原创 2017-03-09 11:23:13 · 14315 阅读 · 2 评论 -
钉钉开发系列(十一)钉钉网页扫码登录
在《钉钉开发系列(八)二维码扫描登录的实现》介绍了一种扫码登录的方式,该方式是自己产生二维码,二维码中的URL指到自身的服务器页面,在该页面中以JSSDK的方式来获取钉钉用户的信息。钉钉官方提供了另外两种扫码登录的方式,可以参见钉钉官网。先申请获取相应的appid和appsecret,然后架设一个服务端,比如有页面ddqrlogin.aspx,然后将该页面的URL使用URL编码,对应到http原创 2016-11-04 14:38:09 · 13307 阅读 · 11 评论 -
钉钉开发系列(十)SaltUI与WebApi交互
Asp.net中常用的数据交互是WebApi的方式,对于请求者只是向一个url发起请求。对于SaltUI,官方推荐使用salt-fetch.js来进行数据交互,当然直接使用zepto.js或者jquery.js以ajax来交互也是可以的。接上一篇《钉钉开发系列(九)SaltUI在VS中的开发》,我们在项目SaltUIDemo中构造WebApi端,在项目中添加一个Global.asax和WebA原创 2016-08-10 12:06:44 · 7440 阅读 · 4 评论 -
钉钉开发系列(九)SaltUI在VS中的开发
钉钉提供了SaltUI的组件,以利于界面的开发。SaltUI是基于React实现的,所以调用方式与React是一致的。具体的安装过程可以参照官方的说明文档。SaltUI基于React实现,在安装是基于nodejs的,nodejs一定要安装4.X版的,否则nowa会无法使用。在nowa安装好后,我们用VS2015新建一个项目SaltUIDemoSrc,然后开始初始化项目,为了方便后续的使用,做成了一原创 2016-08-10 10:56:40 · 10162 阅读 · 20 评论 -
钉钉开发系列(八)二维码扫描登录的实现
钉钉PC版在登录的时候,需要使用手机版的来扫描,扫描之后会弹出一个确定的页面,确定之后PC端就会登录进去。基于此,我们也想实现相似的功能,为此我们需要先探讨其中的原理。查看钉钉PC版的二维码会发现是一个含有一个KEY的URL,钉钉扫描后会直接进入该URL的页面,在页面中确定之后,会向钉钉服务器发起一个请求,应该是写入了一串值,同时钉钉PC版检测到该值,匹配之后就登录成功了。下面是一个流程简图。原创 2016-07-22 17:15:26 · 24080 阅读 · 3 评论 -
钉钉开发系列(七)媒体文件的上传与下载
官方提供的接口说明和示例是基于java的,却没有对具体的header作出更详细的说明,导致很难使用C#语言转换,几经测试,总算找到了个不是太完整的解决方法,代码如下。/// ///POST文件 /// /// /// /// 比如钉钉上传媒体文件使用的是media,该值用于服务端接收到数据时读取该keyna原创 2016-07-21 15:55:48 · 17231 阅读 · 8 评论 -
钉钉开发系列(六)WebApi
之前常使用的方式是html+ajax+ashx(一般处理程序),这样的方案也是不错的,但比起WebApi来,还是不够方便。WebApi的关键就是路由配置。为此我们先建一个WebApiConfig.cs的配置文件,代码如下using System;using System.Collections.Generic;using System.Linq;using System.Text;us原创 2016-05-23 18:23:30 · 8670 阅读 · 0 评论 -
钉钉开发系列(五)生成签名包
钉钉的开发接口中,目前没有在服务端直接获取chatid的接口,但提供了客户端获取chatid的接口。所以有需要获取该接口的,我们可以暂时使用客户端的方式获取。为了能够使用jsapi,我们还需要利用jsticket来得到签名包,具体代码如下。#region FetchSignPackage Function /// /// 获取签名包 ///原创 2016-05-23 18:10:02 · 9068 阅读 · 8 评论 -
钉钉开发系列(二)结构封装
钉钉的每个API接口返回的数据都包含有ErrCode和ErrMsg,由此我们想到可以使用基类来定义,之后的其他数据以继承的方式来达成。所以我们定义一个结果基类。namespace DDSDK{ public class ResultPackage { /// /// 错误码 /// public ErrCo原创 2016-05-23 17:36:51 · 9122 阅读 · 7 评论 -
钉钉开发系列(一)access_token的获取
钉钉的官网上有java、php、nodejs版的Demo,就是没有当下比较盛行的语言C#的,而我们又需要采用C#来开发,于是只得自己来整。钉钉的开发方式和微信的开发方式大体上是一致的,特别是在客户端,直接用微信的weui都没有问题。所以如果有微信开发经验的会比较容易上手。要进行钉钉开发,先要注册,之后得到corpId和corpSecret,然后利用这两个值来得到最重要的数据access_tok原创 2016-05-23 17:14:41 · 37431 阅读 · 29 评论 -
钉钉开发系列(三)API的调用
《钉钉开发系列(二)结构封装》对相应的结构进行了封装,这样在后续的调用中就会相当方便。这里举GET和POST各一个例子,其他的API可以参照钉钉的开发文档。比如以GET方式获取部门列表 #region FetchDepartList public static DepartResultSet FetchDepartList() { s原创 2016-11-25 10:04:07 · 35229 阅读 · 16 评论