钉钉小程序生态—区分企业内部应用、第三方企业应用、第三方个人应用

一、简介

钉钉开放平台地址:open-dev.dingtalk.com/

钉钉应用分为三种:企业内部应用、第三方企业应用、第三方个人应用 。如下: 第三方个人应用 比较好理解,就是自己做给自己玩的,也没法给其他人玩。 但是企业内部应用第三方企业应用理解起来就有点麻烦了,不像微信小程序一个就行了。这导致开发者在创建小程序的时候是一头雾水,不知道选哪一个。 为了让大家对这三种小程序有一个简单的认识,下面我来给大家介绍一下这三种小程序的区别。

二、介绍一下

1. 举个例子

为了方便理解,我来举个例子🌰:

我是一家不到50人小公司(没有懂IT的员工)的老板,为了方便管理员工,让大家都用起了钉钉。为了统计大家每天上下班的时间,让他们使用钉钉自带的打卡小程序 。 后来公司发展到了几百人,也有了技术部,这时我想看一下公司的经营情况,让技术部在钉钉上做了一个生意参谋小程序 ,这样我打开钉钉就可以查看了,非常方便。 由于技术部做的这个生意参谋小程序 非常好用,我的一些合作伙伴(其他公司)也想用,我就让技术部把这个生意参谋小程序上架到应用市场,合作伙伴们只需要去市场中心安装这个小程序就可以使用了。

上面一共出现了两个小程序:打卡小程序生意参谋小程序 ,那么这两个小程序分别属于哪一类呢? 1.打卡小程序是钉钉自带的,不是我们公司自己开发的,我们只是使用,所以它是第三方企业应用。

2.生意参谋小程序比较特殊,它是我们公司技术部自己做的,那它就一定是企业自建应用吗? 其实不然,如果这个小程序只有我们公司用,那么选择企业内部应用即可。但后面合作伙伴也想用的话,企业内部应用是不支持分发的,必须要选择第三方企业应用。

2. 选择依据

  • 自己做给自己玩:第三方个人应用;
  • 自己企业做给自己企业玩:企业内部应用;
  • 除了自己企业玩还给其他企业玩:第三方企业应用

三、开发区别(不考虑个人应用)

1. 应用凭证

企业内部应用

一共四个值:AgentId、MiniAppId、AppKey、AppSecret

第三方企业应用

一共五个值:SuiteId、AppId、MiniAppId、SuiteKey、SuiteSecret

这两种小程序除了都有一个MiniAppId外,其他的属性都不同,这导致使用上也有所不同。 最大的区别是企业内部应用和第三方企业应用获取AccessToken的方式是不同的。企业内部应用获取AccessToken只需要AppKey和AppSecret即可;但是第三方企业应用还需要一个SuiteTicket,怎么获取这个SuiteTicket,我会在后续的文章中说明。

2. 消息推送

企业内部应用

文档地址:open.dingtalk.com/document/or...

第三方企业应用

文档地址:open.dingtalk.com/document/is...

企业内部应用和第三方企业应用消息推送的界面都不同,所以使用上肯定也是不同的两套。简单来说,企业内部应用的消息只需要自己拼接正确的json字符串,然后调用发送接口就可以发送了。但第三方企业应用分为好几步:创建消息模板--->消息模板审核--->调用消息模板发送。企业内部应用是没有模板这个概念的。

3. 事件与回调

企业内部应用

第三方企业应用

这里双方都有一个回调请求地址,且加解密的方式都相同,但二者有一个最大的不同:第三方企业应用比企业内部应用的回调多了一个SuiteTicket,这个也是上文说到第三方企业应用获取AccessToken的一个必要的参数,这个SuiteTicket会定时推送,具有时效性。

4. 版本管理与发布

企业内部应用

第三方企业应用

企业内部应用只需要在本地提交代码发布即可,但第三方企业应用除了提交代码外还需要设置一个体验组织,毕竟第三方企业应用不仅仅是给自己玩的,其他企业也要能看到,设置完之后会有一个体验版二维码,拿钉钉扫码即可体验。 此外,第三方企业应用可以不上架到市场,通过部署二维码的方式也能给其他企业使用,但是有上限,最多部署20个。如果还想部署到更多企业,那么则需要走第三方企业应用的上架流程。

四、其他比较重要的

1. 查看CorpId

登录开发平台后,CorpId在首页的右上角可以看到。

2. 获取accessToken的方式

a、企业内部应用获取accessToken

帮助文档:获取企业内部应用的accessToken

在获取accessToken前,需要在开发者后台查看应用的AppKey和AppSecret:

  1. 登录钉钉开发者后台。
  2. 在应用开发页面,单击目标应用进入应用详情页面。
  3. 在基础信息页面,复制应用的AppKey和AppSecret。 然后直接拿这两个参数调用接口即可,这个还是很简单的,我就不多说了。

b、第三方企业应用获取accessToken

帮助文档:获取第三方应用授权企业的accessToken

第三方企业应用没有appKey和appSecret,与之对应的是suiteKey和suiteSecret。 然后它还需要两个参数:authCorpId和suiteTicket。

这两个参数对于初学者十分难以理解,人家微信、抖音都是只有appKey、appSecret就行了,就钉钉与众不同。所以这里我很有必要解释一下这两个参数的意思。

authCorpId 官方称它为授权企业的CorpId,简单来说就是我A企业开发的小程序你B企业也想用,你们也不需要重新创建一个新的,我授权给你就行,所以这里的授权企业的CorpId不是A企业的CorpId,而是B企业的CorpId,别搞错了。

suiteTicket suiteTicket是由钉钉服务器颁发给开发者的票据,用于验证开发者身份和权限,和企业无关。至于这个怎么获取,请看这篇文章 钉钉小程序生态5---钉钉群机器人消息通知和钉钉工作通知

拿到以上suiteKey、suiteSecret、authCorpId和suiteTicket参数后,调用钉钉接口即可。

2. 钉钉开发者文档

open.dingtalk.com/developer

3. 钉钉开发者工具

open.dingtalk.com/document/re...

相关推荐
颜淡慕潇25 分钟前
【K8S问题系列 |1 】Kubernetes 中 NodePort 类型的 Service 无法访问【已解决】
后端·云原生·容器·kubernetes·问题解决
尘浮生1 小时前
Java项目实战II基于Spring Boot的光影视频平台(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·maven·intellij-idea
尚学教辅学习资料1 小时前
基于SpringBoot的医药管理系统+LW示例参考
java·spring boot·后端·java毕业设计·医药管理
monkey_meng3 小时前
【Rust中的迭代器】
开发语言·后端·rust
余衫马3 小时前
Rust-Trait 特征编程
开发语言·后端·rust
monkey_meng3 小时前
【Rust中多线程同步机制】
开发语言·redis·后端·rust
阑梦清川3 小时前
在鱼皮的模拟面试里面学习有感
学习·面试·职场和发展
paopaokaka_luck7 小时前
【360】基于springboot的志愿服务管理系统
java·spring boot·后端·spring·毕业设计
码农小旋风9 小时前
详解K8S--声明式API
后端
Peter_chq9 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端