文档章节

钉钉开发笔记(1)

MR_BT
 MR_BT
发布于 2017/01/21 01:05
字数 763
阅读 104
收藏 1

钉钉开发分为:1、移动客户端。2、PC端。3、服务端。三个平台的开发。

1、移动端:面对钉钉手机用户和企业用户。

2、同上主要面向PC端的用户和企业。

3、服务端,用于用户和企业内部管理的平台方向,例如OA网站。

 

本人主要从事移动端和PC端的开发,所以,本笔记主要记录在这些问题中遇见的问题和困难,希望对大家有所帮助!

 

开发流程:

一、免登流程图   点击查看步骤

 

二、步骤详细:

步骤1:获取CorpID、CorpSecret(在企业钉钉微应用设置中获取)

 

 

 

 

步骤2:获取AccessToken。

开发者在调用开放平台接口前需要通过CorpID和CorpSecret获取AccessToken。获取AccessToken的方法是向 

https://oapi.dingtalk.com/gettoken?corpid=id&corpsecret=secrect GET请求。

 

 

步骤3获取jsapi_ticket(服务器中调用,用以生成可用的ticket)点击查看官方文档 

 

获取jsapi_ticket

企业在使用微应用中的JS API时,需要先从钉钉开放平台接口获取jsapi_ticket生成签名数据,并将最终签名用的部分字段及签名结果返回到H5中,JS API底层将通过这些数据判断H5是否有权限使用JS API。

请求说明

Https请求方式:GET

https://oapi.dingtalk.com/get_jsapi_ticket?access_token=ACCESS_TOKEN

 

 

步骤4:签名生成算法

开发者在web页面使用钉钉容器提供的jsapi时,需要验证调用权限,并以参数signature标识合法性

签名生成的规则:

List keyArray = sort(noncestr,timestamp,jsapi_ticket,url);

String str = assemble(keyArray);

signature = sha1(str);

 

参与签名的字段包括在上文中获取的jsapi_ticket,noncestr(随机字符串,自己随便填写即可),timestamp(当前时间戳,具体值为当前时间到1970年1月1号的秒数),url(当前网页的URL,不包含#及其后面部分,需要对url中query部分做一次urldecode)。例如:

noncestr=Zn4zmLFKD0wzilzM

jsapi_ticket=mS5k98fdkdgDKxkXGEs8LORVREiweeWETE40P37wkidkfksDSKDJFD5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcKIDU8l

timestamp=1414588745

url=//open.dingtalk.com

注意:若页面url为http://abc.com?url=http%3A%2F%2Fabc.com%2somewhere,则用于生成签名的url应对query部分做一次urldecode,正确结果应为http://abc.com?url=http://abc.com/somewhere

步骤1. sort()含义为对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)

步骤2. assemble()含义为根据步骤1中获的参数字段的顺序,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串

步骤2. sha1()的含义为对在步骤2拼接好的字符串进行sha1加密。

 

 

 

步骤5:获取免登用户信息 击查看官方文档

 

CODE换取用户身份

企业应用的服务器在拿到CODE后,需要将CODE发送到钉钉开放平台接口,如果验证通过,则返回CODE对应的用户信息。**此接口只用于免登服务中用来换取用户信息**

求说

Https请求方式: GET

https://oapi.dingtalk.com/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE

 

 

 

 

 

本文转载自:http://www.cnblogs.com/tig666666/p/6115770.html

下一篇: view 与layer
MR_BT
粉丝 0
博文 49
码字总数 13680
作品 0
深圳
高级程序员
私信 提问
day60-20180818-流利阅读笔记

钉钉:工作的归工作,生活的…也归工作? 毛西 2018-08-18 1.今日导读 你用过“钉钉”么?被公司要求使用钉钉的感受是如何的呢?这款阿里巴巴旗下的移动办公社交平台在弯道超车微信、为许多企...

飞鱼说编程
2018/08/18
0
2
如何提升创业公司技术团队的研发速度和效率?

背景:合肥O2O行业创业公司,项目上线1年+,目前发展良好 随着业务发展,市场和运营的需求越来越多,需要配称更高更快的技术研发速度和效率, 而技术团队(13人)由于长期待遇好要求低,养成了...

Sgmder
2018/07/26
4K
50
共享定制云平台 AWCP 平台 1.6 发布,集成 solr 引擎

AWCP 平台 1.6 已发布,集成了solr引擎,实现了文档,数据的可配置搜索,实现定时器增量建索引。 新增 1.集成solr搜索引擎 2.文件上传增加压缩和裁剪 完善 1.重构动态页面渲染,流程执行前后...

曹勇
2018/03/20
949
0
基于C#的钉钉SDK开发(1)--对官方SDK的重构优化

在前段时间,接触一个很喜欢钉钉并且已在内部场景广泛使用钉钉进行工厂内部管理的客户,如钉钉考勤、日常审批、钉钉投影、钉钉门禁等等方面,才体会到原来钉钉已经已经在企业上可以用的很广泛...

伍华聪
2018/09/06
0
0
Kooteam 0.0.7稳定性增强版发布

Kooteam是一款轻量级的在线团队协作工具,提供各类文档工具、在线思维导图、在线流程图、项目管理、任务分发等工具,并接入了微信小程序,钉钉开放平台,使用便捷高效。 更新记录 1. 钉钉插件...

小小胖
2018/12/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

趣谈预留实例券,一文搞懂云上省钱最新玩法

摘要: 一文搞懂时髦的预留实例券(RI) ECS近期推出了预留实例券(Reserved Instances),简称RI,这东西很cool,今天我们聊聊这个。 首先这篇Blog不是文档,读完后想详细了解文档的朋友请点...

zhaowei121
6分钟前
0
0
js 将json字符串转换为json对象的方法解析

js 将json字符串转换为json对象的方法解析 将json字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之...

城市之雾
6分钟前
0
0
国外青少年最喜爱的聊天 app,竟然是 Google Docs

简评: 这还真不是标题党,Google Docs 的协作中内置了实时聊天的功能,也可以进行 comments,颇有种现代「传纸条」的既视感。其实国内的石墨文档、腾讯文档等协作工具也有类似的效果,本文很...

极光推送
11分钟前
0
0
用zuul将微服务的多个swagger api文档聚合成一个文档

1.在每个服务的pom中添加以下依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId></dependency> 注意:仅仅需要添加这个就行。zuul负......

xtof
12分钟前
0
0
为什么取不到metamask的账号?

当你使用Metamask测试以太坊DApp时,如果出现莫名其妙的问题,检查一下web3.eth.accounts是否可以获取到账户,如果不能获取的话,那么最大的可能是你使用了新版的Metamask,并且默认启用了隐...

汇智网教程
13分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部