微信企业号中通过API请求通讯录时提示管理员权限不足,(user/department/agent)无权限

最近公司平台在通过API读取企业微信通讯录时,一直提醒 "管理员权限不足,(user/department/agent)无权限";因为这个应用开发好用了好几年了,一直很稳定,搞不清问题在哪,百度了一下,又看了 看API文档,最终解决了,遇到这个问题,应该从三点查看。

一、开启通讯录API编辑权限

这也是网上最多的解决方案了,凡是从微信企业号转到企业微信的,通讯录权限一律是“API只读通讯录”,所以你调用时不能新建,不能删除就很正常了,我们只需要开启“API编辑通讯录”就可以了。

 

 二、使用通讯录管理secret

以前是微信企业号时,我们都是用的应用secret来管理的通讯录,但是升级到企业微信后,需要通过通读录管理secret来管理通讯录了,不然只能查看,不能修改新增删除,这个需要仔细看一下API文档了。

原文如下:

通讯录同步相关接口,可以对部门、成员、标签等通讯录信息进行查询、添加、修改、删除等操作。

开始开发
使用通讯录管理接口,原则上需要使用 通讯录管理secret,也可以使用 应用secret。
但是使用应用secret只能进行“查询”、“邀请”等非写操作,而且只能操作应用可见范围内的通讯录。

 

 三、修改获取token的secret

以上两步都操作好了以后,以为没问题了,结果还是不行,后来才发现应用中代码有问题,因为使用了token缓存方案,数据库中缓存的都是应用的token,每次都是直接调用的,相当于没有获取到通讯录的token,需要简单修改下代码,更改成可以获取通讯录的token,然后就一切正常了。

posted @ 2020-12-01 10:41  wjbych  阅读(2141)  评论(0编辑  收藏  举报