钉钉企业应用开发 有更新!

Published on with 177 views

主要参考和查阅钉钉官方文档:https://open-doc.dingtalk.com
因为是公司内部应用,使用企业内部开发文档即可


image.png


由公司的系统管理员登录企业钉钉后台创建应用,创建的时候会相应配置好域名、服务器出口、可使用范围等等,创建成功后会生成相应后appkey和appsecret,由系统管理员提供,钉钉改版较快,文档并没有及时更新。通过测试得知appkey=corpid,appsecret=corpsecret,这样请求接口才成功。

钉钉API请求前缀https://oapi.dingtalk.com
例如gettoken接口是https://oapi.dingtalk.com/gettoken 其他类推

流程分为2步
第1步:通过corpId和corpsecret请求钉钉gettoken接口获取accesstoken,accesstoken作为请求其他接口的凭证
第2步:根据下图前端使用jsapi获取免登授权码authcode


image.png


由前端传递authcode,后端进行处理,由authcode和accesstoken请求getuserinfo接口获取当前登录用户企业唯一id,也就是userid。
(需要注意的是免登授权authcode的有效时间比较短,且只能由前端发起请求,每次使用之后会失效,下次由前端再次发起请求即可)


image.png


根据上面获取的userid和accesstoken请求钉钉get接口 获得用户详细信息


image.png


获取用户详细信息根据需要进行使用

并且系统管理员开启通讯录权限有两个地方需要开启

  1. 通讯录设置开启

  2. 选择人员范围,也就是选择哪些人或哪些部门可以被钉钉API获取该人员的信息

后端技术

环境

JDK 开发工具数据库
1.8.0_121 IntelliJ IDEA 2017.1 MYSQL 5.6

框架

  • spring boot
  • mybatis
  • lombok
  • gson
  • retrofit

前端技术不是很熟

前端技术

  • react
  • react-redux
  • react-router-dom
  • redux
  • react-dom

鉴于钉钉开发文档部分未及时更新,以上大部分为实践所得,可能不尽完善。

Responses