《企微第三方应用开发入门到实战》

10 篇文章 0 订阅

同步视频资源https://www.bilibili.com/video/BV1zP4y1M7LV?spm_id_from=333.999.0.0

概述

1.企业应用和第三方应用的区别

2.课程讲授的内容

《入门篇》

1.自建应用和第三方应用的区别

自建应用:自己开发自己用【这种方式比较简单,可以简单创建一个试一下】

第三方应用:我们作为服务商,开发给其他企业使用

2.创建第三方应用【主要提供回调服务】

(一)配置参数说明

企业微信应用接入指引 - 接口文档 - 企业微信开发者中心

(二)开发提供指令回调url

回调配置 - 接口文档 - 企业微信开发者中心

A:快速开发一个nodejs服务

B:使用签名和加解密库【包括get和post】

@wecom/crypto - npm

C:需要将服务提供到公网,企微才能回调

这里需要配置内网穿透

1.natapp: https://www.jianshu.com/p/7dfa336b0fec

2.frp: https://www.cnblogs.com/chywx/p/10939966.html

D:解析出suite_ticket,并缓存

E:获取第三方应用的token【这里使用postman调试】

第三方应用接口 - 接口文档 - 企业微信开发者中心

3.安装的五种方式

(一)上架到应用市场(需要上架)==>这种方式与方式二推送一样

(二)在服务商后台点击安装测试(不需要上线)

(三)在服务商后台通过推广二维码安装(需要上线)

(四)在服务商后台通过推广二维码包id,生成推广链接(需要上线)

构建注册链接:

推广二维码(原注册定制化) - 接口文档 - 企业微信开发者中心

第一步:获取注册码

第二步:构建注册链接

(五)应用授权安装链接(不需要上线)

构建授权安装链接

企业授权应用 - 接口文档 - 企业微信开发者中心

第一步:获取预授权码

第二步:提供redirect_uri服务,引导用户进入授权页

redirect_uri = http://api.feelok.top:6001/getCompanyAuthCode

这个授权链接一定需要用户点击,不能直接在浏览器上访问

第三步授权成功,返回临时授权码

(六)总结:

   A.共同点与区别

共同点:

所有方式都是在安装应用后,会给我们服务商提供企业临时授权码

区别:

只有应用授权安装链接是通过redirect_uri推送企业临时授权码,

其他的方式都是通过指令回调url推送企业临时授权码

授权通知事件 - 接口文档 - 企业微信开发者中心

  B.获得了企业临时授权码,我们就有能力获得企业信息了

a.企业安装后,会通过指令回调接口推送企业临时授权码  或者   通过redirect_uri传递企业临时授权码

b.通过临时授权码换取企业永久授权码

获取企业永久授权码 - 接口文档 - 企业微信开发者中心

c.有了企业id和永久授权码,就可以获得企业的token,也就是可以调用企业相关的接口了

4.获取部门和人员

(一)获取部门信息

获取部门列表 - 接口文档 - 企业微信开发者中心

(二)获取成员信息

获取部门成员 - 接口文档 - 企业微信开发者中心

5.授权登录

开始开发 - 接口文档 - 企业微信开发者中心

(一)构建oauth2授权链接

(二)根据code获取用户身份

(三)获取用户详细信息

6.获取客户和客户群

(一)获取用户的客户

获取客户列表 - 接口文档 - 企业微信开发者中心

(二)获取客户群

获取客户群列表 - 接口文档 - 企业微信开发者中心

7.扫码登录和业务设置url登录

接入指引 - 接口文档 - 企业微信开发者中心

(一)扫码登录

A.构建登录二维码

https://open.work.weixin.qq.com/wwopen/sso/3rd_qrConnect?appid=xxxxxxxx&redirect_uri=http%3A%2F%2F%2Fapp&state=web_login@gyoss9&usertype=admin

B.通过redirect_uri获得auth_code

C.获得服务商token

D.通过auth_code获得用户信息

获取登录用户信息 - 接口文档 - 企业微信开发者中心

注意:

(二)业务设置url登录

A.配置业务url【在服务商应用的详情页面】

B.点击进入服务商后台,获得auth_code

C.获得服务商token

D.通过auth_code获得用户信息

获取登录用户信息 - 接口文档 - 企业微信开发者中心

8.消息推送

(一)获取成员id

(二)推送消息

发送应用消息 - 接口文档 - 企业微信开发者中心

9.网页jssdk调用

使用说明 - 接口文档 - 企业微信开发者中心

【调用一下选人api和打开会话api】

(一)获取jsapi_ticket【企业和应用】

(二)签名【一样的】

(三)前端配置【分企业和应用】

(四)前端调用jsapi【一样的】

调用就比较简单了!!!

(五)这里的坑

1.获取应用的jsapi_ticket也是使用企业的token

2.传递url的时候需要前端encode一下,后端接受后再decode一下;否者会丢失一些东西

《实战篇》

1.创建一个第三方应用

回调域名等,可以先随便写一个,先把应用创建起来

2.提供指令回调

(一)快速搭建一个node服务

a.安装express:npm install -g express-generator

b.输入express 初始化node服务

c. 启动项目

npm i

npm start

d.在浏览器中测试一下

(二)完成回调接口

a.创建一个callback的get接口和post接口

b.根据文档实现get接口

c.根据文档实现post接口

回调配置 - 接口文档 - 企业微信开发者中心

(三)内网穿透

这里就怎么简单怎么来把,我们就使用natapp的方式吧

(四)将suite_ticket存入数据库

a.解析出suite_ticket【需要用到工具xmlreader】

b.创建一个数据库以及缓存suite_ticket表

c.将suite-ticket放入表中

3.提供前端页面和后端页面

(一)创建前后端系统页面

(二)将页面目录设置为静态目录

4.每次在获得suite_ticket的时候,获得sui_token,并保存到数据库

(一)获得suite_token

(二)保存到数据库中

5.企业安装授权应用,后端获取企业临时授权码,并且根据临时授权码获得永久授权码和企业id【永久授权码和企业id需要保存到数据库】

(一)创建保存企业信息的表

字段包括:corpId , corpName , permanent_code,agentid

agentid:这个字段在消息推送的时候会用到!!!

(二)获得企业授权时推送的企业临时授权码

【这是使用最简单的安装测试按钮,实现企业临时授权码推送】

(三)根据临时授权码获得永久授权码

(四)将企业id和永久授权码存入数据库中

6.根据永久授权码和企业id获得企业token,将企业的部门和成员同步到我们数据库中

(一)创建成员信息表

字段包括: userId , 部门id , 企业id,企业名称

(二)获得企业token

【这一步可以在获取永久码的时候直接获取到,这一步就可以省掉了】

(三)获得部门

(四)根据部门id,获得成员id,并存入数据库

7.前后端系统完成授权登录

(一)配置应用主页,实现移动端系统的登录

   A.配置应用主页,获取code

   B.前端页面提供登录按钮,调用后端登录接口

   C.提供一个登录接口【通过code获得用户信息,然后校验userId是否在我们系统,从而判断用户是否能够登录】

(二)配置业务设置url,实现pc端系统的登录【与扫码登录一致的】

   A.配置业务设置url,pc端页面获得授权auth_code

   B.后端页面提供登录按钮,调用后端登录接口

   C.提供后端登录接口【1.获得服务商token  2.获得根据code获得用户信息 3判断用户信息是否在数据库表中】

(三)扫码登录进入pc端系统

   A.创建一个服务商的官网页面【一般服务商页面会有三个按钮】

B.构建安装应用链接:【https://developer.work.weixin.qq.com/document/path/90597】

这里一定要注意,在获取预授权码之后,需要调用一下授权码配置接口

C.构建注册按钮【https://developer.work.weixin.qq.com/document/path/90578】

注册需要上线后才能获得推广包id,根据推广包获得注册码;这里只是做一下代码实现;后面线上了直接改一下推广包id即可

注意:这种注册链接并不属于登录的方式,只是一般服务商网站都会提供这种注册按钮;只是用于推广企业微信,让别人安装企业微信顺带将我们的第三方应用自动安装上而已

D.构建扫码链接【https://developer.work.weixin.qq.com/document/path/91124】

  这里不需要通过代码生成,直接拼接即可

E.点击测试登录

8.前端系统完成jssdk调用

(一)从登录接口中获取corpId

(二)获取企业jsapi_ticket

JS-SDK使用权限签名算法 - 接口文档 - 企业微信开发者中心

(三)获取应用jsapi_ticket

(四)完成企业和应用参数签名

(五)前端系统获得两种签名数据,进行配置注入,引入jssdk文件

(六)完成选人获取人员userId

(七)打开选中人的聊天会话

9.后端系统对前端系统推送消息

(一)获得进入后端系统的人员信息

(二)根据当前登录用户所在企业,查找数据库表中的成员

(三)使用通讯录展示组件展示成员

通讯录展示组件 - 接口文档 - 企业微信开发者中心

(四)开发发送消息页面

(五)调用发送消息接口发送消息

10.应用上线

我们实际操作一下

11.应用上架

同步视频教程>>icon-default.png?t=M276https://www.bilibili.com/video/BV1zP4y1M7LV?spm_id_from=333.999.0.0

  • 9
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值