加我微信li570467731,拉你进200多家企业微信开发同行群(文末有二维码)。
企业微信发展三部曲:
《企业微信应用开发概述(免费)》已完成;
《企业微信开发第三方应用开发》正在更新;
“企业微信开发自建内部应用开发”正在筹备中;
关注公众号“tob dev”了解最新教程(文末有二维码)。
6月30日后,微信不再返回会员名和部门名,届时将以ID代替……它会伤害我们做第三方应用程序的服务提供商。
我们在六月份翻译了通讯录,但从那以后我们一直忙得没时间分享。我们B端开发群里(加我微信li570467731拉你进群)做企业微信第三方应用的朋友也一直在讨论。
转眼间已是八月。现在分享和弥补。对于不返回姓名和部门名称的问题,有两种解决方案。
场景1:使用地址簿组件显示人员和部门名称
组中的大多数人使用地址簿组件()使显示兼容;
通讯录组件优缺点:基本上前端各端(H5、小程序等)自己做,但每端都必须更改兼容,后端不需要。
通讯录组件限制:必须处于企业微信登录状态。那是什么意思?即无论是在PC浏览器、H5还是小程序,都必须处于企业微信登录状态(需要openid等信息),这会导致在没有企业微信登录状态时,无法使用其他独立平台,如独立APP独立后台等;
因为我选择了第二个方案,第一个方案需要大家练习或者加群(加我的微信li570467731拉你进群),咨询其他已经实现的群友;
地址簿组件显示api文档和截图如下
截图
方案二:通讯录翻译
由于方案一通讯录组件的限制,我们无法登录并在App和后台显示正确的部门名称和人员姓名(非企业微信登录方式);
所以我们选择了第二个地址簿翻译
通讯录翻译优缺点:基础后台(管理后台前后端协同)干,需要通过企业微信登录后台,然后在自己的后台生成需要翻译的部门人员id文件,通过API上传到企业微。企业微翻译完成后,我们从企业微下载翻译后的文件,上传到自己的服务器上,匹配更新名称。不过,一次成功转会后,其他两端基本不需要搬家
这个优势是后台手动同步一次,其他端不需要更改,比如小程序、H5、app等;
通讯录翻译限制:翻译后下载的链接需要处于企业微信登录状态才能下载,不方便;文档描述为“通讯录转换成功后的URL,需要用户通过oauth2授权登录或单点登录才能在用户端打开”;
具体来说,就是在后台,通讯录的部门id,人员id以文件的形式调用API(API比较繁琐,有几个步骤)发送到企业微信,然后企业微信会用相应的名字替换相应的id翻译,并返回一个下载链接。我们会重新下载后上传到自己的后台(这里企业微信有验证,目前和几个群友讨论中,我已经试过自动下载上传),并进行匹配更新;
中间有个小问题:
问题如下:
原因如下:
E9A1B5E99DA2E8AFB7E6B182E695B0E68DAEE68AA5E9949403
请注意,在单点登录方案中,
(包括扫码登录、应用安装跳转、从企业微信Web管理跳转业务),登录用户身份只会在redirect_uri的指定域名中找到。
例如,扫码登录后跳转到域名A,并在域名B下使用组件,则会报错403。
我们不得不使用相同的域名,我们的解决方案是进行中间跳转,因为我们的background和redirect_url不是一个域名;
通讯录翻译文档的链接和截图
截图
以下为企业微信界面不返回部门名称和人员姓名的通知链接及截图:
截图
加我微信,拉你入200+企业微信发展同行群
关注公众号“tob dev”,获取更多企业微信教程