小程序接入企业微信需求开发调试及避坑指南

2024-06-16
来源:网络整理

最近在开发一个小程序接入企业微信,企业微信对权限的限制比较多,网上完整的例子也很少,因此遇到了不少坑,分享给大家。

陷阱1:开发和调试

如果在开发者工具中直接使用微信小程序模式,调用会提示wx.qy接口不存在,需要安装微信企业小程序模拟器插件

添加微信企业模拟器插件

切换至微信企业小程序模式

注:部分API模拟器不支持,需要真机调试

实现多场景调试

使用企业微信扫描小程序开发代码,开启多场景调试,开启后,在附件栏、工具栏、会话、工作台等场景打开此小程序时,将使用本次扫描的小程序开发版本运行。

该功能解决了无法从其他入口访问开发版本的问题,但是开发调试过程还是比较麻烦。

陷阱二:企业端微信小程序的登录流程与微信端微信小程序的登录流程不一样

一开始想调用 wx.qy.t 来获取外部联系人信息,想着有现成的 API 可以轻松解决,但直接调用失败,消息过期,然后看到调用这个 API 的前提条件:

呼叫前提条件:

wx.qy. 必须之前调用过,且没有过期,开发者可以调用来检查当前的登录状态

当前成员必须在应用程序的可见范围内

wx.qy.的使用方法和wx.类似,但是企业微端的登录过程和微信端的登录是两个不同的过程。

笔记:

陷阱三:必须从小程序关联的企业微信应用获取

调用接口登录的时候总是提示没有权限,我看了下接口的权限描述:

权限说明:

必须从小程序关联的企业微信应用中获取。

如果你没有开发过企业微信应用,那么这句话可能会让你感到困惑,这个概念如果不从头看的话,很容易搞混。

一开始我尝试过企业微信本身,但是不行,后来在论坛上查了相关帖子,才知道需要用到小程序。不过请注意,这里指的并不是小程序本身,而是在企业微信后台创建的、与小程序关联的应用。你可以在企业微信后台应用管理中点击查看,也可以发送到企业微信中查看。

是企业应用中保障数据安全的“钥匙”,每个应用都有独立的访问密钥,分为以下几类:

建议开发之前先看文档,了解这些基本概念://pa…

陷阱 4:客户联系 API 权限

如果在调用客户管理相关API时提示没有权限,首先看一下该接口的权限说明:

权限说明:

可以从以下几个方面来检查:

你得到的东西有用吗?

获取客户联系的会员是否配置了应用可见性范围

是否配置客户联系功能权限:

我们可以感受到,企业微信为了保护客户的隐私,做了大量的权限控制,拥有完善的权限体系:

大致的调用流程如下图所示:

陷阱五:企业信任IP

当获取到正确信息后,界面提示错误:

{ "errcode": 60020, "errmsg": "not allow to access from your ip, hint: [xxx], from ip: xx.xx.xx.xx,... }

需要在企业微信后台配置应用的信任IP,只有配置了信任IP后,才可以调用企业微信的接口。

在配置企业信任IP之前,你必须先设定一个信任域名,或者设定一个接收消息服务器URL(即使你不需要用到它。。。)

设置信任域名需要完成域名认证,即在域名根目录上传小程序验证文件。

配置完信任IP之后,终于可以调整了......

总结一下,在开始企业微信开发前,先阅读官方文档开发指南,了解基本概念、开发流程、配置方法,也会方便后续阅读接口文档时对相关名词的理解。开发者工具需要安装企业微信插件才能调试部分企业微信API,对于工具无法模拟的场景,需要在真机上开启多场景调试。在调用企业微信相关接口前,需要仔细阅读接口调用前提和权限说明,调用时需要走一遍企业微信小程序登录流程,配置相关权限,配置企业信任IP。如果不知道接口调用失败的原因,可以使用错误码查询工具,在接口请求url中添加=1参数,并复制接口返回的hint值进行查询。

分享