开发笔记—钉钉服务商应用isv开发,从应用配置,到获取客户企业通讯录
以第三方企业微应用为例
在第三方企业微应用应用时,比较底层的需求,就是应用需要获取客户企业的通讯录,即部门/员工的数据。本人整理以下几个关键数据,供大家开发参考。
新建第三方微应用时,能拿到这些初始数据
[1-1] isv.encodingAesKey。手动配置。微应用设置界面拿到,用于解密、初始化应用、验证URL回调。
[1-2] isv.suiteKey。手动配置。微应用设置界面拿到,用于解密、初始化应用、验证URL回调。
[1-3] isv.token。手动配置。应用设置界面拿到,用于解密、初始化应用、验证URL回调。
[1-4] isv.suiteSecret。手动配置。设置页面拿到。
进行通讯,完成回调,能获取suiteTicket。
[2-1] isv.suiteTicket。钉钉推送。初始化后台,微应用设置界面推送,初始化。后续由微应用后台推送更新。
完成服务端与钉钉通讯,进行请求,能获取suiteAccessToken
[3-1] isv.suiteAccessToken。请求钉钉。由1-2,1-4,2-1为参数,请求钉钉得到。
进行企业授权,完成下面5个步骤,最终得到accessToken
[4-1] tmpAuthCode。钉钉推送。企业授权的时候,推送到回调地址。
[4-2] permenantCode,corpId,corpName。请求钉钉。由4-1,3-1为参数,请求钉钉得到。
[4-3] 激活企业。需要1-2,4-2(corpId,permenantCode),3-1。
[4-4] agentId。请求钉钉。需要1-2,1-4,2-1,4-2(corpId)
[4-5] accessToken。请求钉钉。需要1-2,1-4,2-1,4-2(corpId)
拿到企业accessToken,就能获取企业通讯录数据
[5-1] 获取企业部门、员工。需要4-5(accessToken)。
在实际的开发过程中,还是需要写不少代码的,如果读者有代码需求也可以加微信联系。
开发笔记—钉钉服务商应用isv开发,从应用配置,到获取客户企业通讯录的更多相关文章
- Modbus库开发笔记之九:利用协议栈开发Modbus TCP Server应用
前面我们已经完成了Modbus协议栈的开发,但这不是我们的目的.我们开发它的目的当然是要使用它来解决我们的实际问题.接下来我们就使用刚开发的Modbus协议栈开发一个Modbus TCP Server ...
- .net开发笔记(十三) Winform常用开发模式第一篇
上一篇博客最后我提到“异步编程模型”(APM),之后本来打算整理一下这方面的材料然后总结一下写篇文章与诸位分享,后来在整理的过程中不断的延伸不断地扩展,发现完全偏离了“异步编程”这个概念,前前后后所有 ...
- Modbus库开发笔记之十:利用协议栈开发Mosbus RTU Slave应用
上一节我们使用协议占开发了一个Modbus TCP Server应用.接下来我们使用协议栈在开发一个基于串行链路的Mosbus RTU Slave应用. 根据前面对协议栈的封装,我们需要引用Modbu ...
- Modbus库开发笔记之七:Modbus其他辅助功能开发
前面开发了各种应用,但是却一直没有提到一个问题,你就是对具体的数据进行读写操作.对于Modbus来说标准的数据有4种:线圈数据(地址:0000x).输入状态量数据(地址:1000x).保持寄存器数据( ...
- Modbus库开发笔记之六:Modbus RTU Master开发
这一节我们来封装最后一种应用(Modbus RTU Master应用),RTU主站的开发与TCP客户端的开发是一致的.同样的我们也不是做具体的应用,而是实现RTU主站的基本功能.我们将RTU主站的功能 ...
- Modbus库开发笔记之五:Modbus RTU Slave开发
Modbus在串行链路上分为Slave和Master,这一节我们就来开发Slave.对于Modbus RTU从站来说,需要实现的功能其实与Modbus TCP的服务器端是一样的.其操作过程也是一样的. ...
- Modbus库开发笔记之四:Modbus TCP Client开发
这一次我们封装Modbus TCP Client应用.同样的我们也不是做具体的应用,而是实现TCP客户端的基本功能.我们将TCP客户端的功能封装为函数,以便在开发具体应用时调用. 对于TCP客户端我们 ...
- Modbus库开发笔记之三:Modbus TCP Server开发
在完成了前面的工作后,我们就可以实现有针对性的应用了,首先我们来实现Modbus TCP的服务器端应用.当然我们不是做具体的应用,而是对Modbus TCP的服务器端应用进行封装以供有需要时调用. 这 ...
- php扩展开发笔记(2)多个源代码文件的配置和编译
我们在开发过程中,为了代码得可读性和易维护性,肯定是须要多个代码文件的,而不不过通过 ext_skel 生成得骨架文件. 这篇文章主要介绍下.多个代码文件的时候.我们须要注意什么,以及怎么做. 我的代 ...
随机推荐
- 每个Web开发者都应该知道的SOLID原则
面向对象的编程并不能防止难以理解或不可维护的程序.因此,Robert C. Martin 制定了五项指导原则,使开发人员很容易创建出可读性强且可维护的程序.这五项原则被称为 S.O.L.I.D 原则. ...
- array every
every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试.它返回一个布尔值.
- 曼孚科技:AI算法领域常用的39个术语(下)
算法是人工智能(AI)核心领域之一. 本文整理了算法领域常用的39个术语,希望可以帮助大家更好地理解这门学科. 本文为下半部分,上半部分见本账号上一篇文章. 19.迁移学习(Transfer Lear ...
- SDN-数据控制分离
严格来说,控制面与数据面分离并不是SDN的专利.从一个chassis角度看,传统路由器其实控制面和转发面也是分离的.Route-enginee和line card分别负责控制面板和转发面.但是传统网络 ...
- 如果linux开机没有ip怎么办
1.vim编辑网卡配置文件,修改如下参数 [root@s25linux tmp]# cd /etc/sysconfig/network-scripts/vim修改此文件,找到如下参数,改为yesONB ...
- 【E20200105-1】Centos 7.x 下vsftpd配置文件常用配置详解
centos 7 下vsftp的安装和配置可以参见<[E20200102-1]centos 7 下vsftp的安装和配置> ########匿名用户(anonymous)设置####### ...
- 【基础问题】String 类型为什么是final类型
关于为什么此类问题,都能列出12345...种种原因 已创建具体的值不可修改,故本身就是线程安全的,放到多线程中也不会担心被修改,支持在多线程中共享自身 . 因为字符串是不可变的,所以在它创建的时候H ...
- hadoop 部署在centos 7 上
一.准备工作 (文章写于 2019-6) 根据官方文档而来,请注意时间,官方可能有更新,以官方文档为准 1. 配置网站参考: http://hadoop.apache.org/docs/r1.0.4 ...
- PP: Multi-Horizon Time Series Forecasting with Temporal Attention Learning
Problem: multi-horizon probabilistic forecasting tasks; Propose an end-to-end framework for multi-ho ...
- Postgresql Json Sql
a detailed website about json sql query; official website: here, chinese version: here Json query: - ...