背景
微信公众平台的api无法返回公众号粉丝的昵称和头像信息了, 这给许多公众号运营者造成了不便。
办法倒是有:通过公众号网页管理后台还可以拿到粉丝的 openid 昵称 头像 关注时间 这些基本信息。
这种方式,只需略懂点编程技术就能搞定,甚至你只需要会用F12打开chrome的抓包功能也能搞定。但是,每次都需要这么操作也有点麻烦。
我最近在学做chrome扩展开发,就拿这个困扰我自己的小需求练手,也把我做好的小工具分享给大家。
使用流程
安装插件(本站的朋友应该都会)
打开网页版公众号后台,转到“用户管理”,点右上角的本插件,需要先设置服务器地址和翻页数,前者用于把数据推送到你的服务器上(留空则不推送),后者是设置翻页数,对应网页后台的这里
如果服务器地址留空则不推送,只将汇总好的数据显示在插件界面中,用户可以手动复制。
虽说有了这个插件方便了很多,但总手动点击好像还是略有点麻烦。有的朋友会想:可否通过编写程序的方式自动提取?比如每新加一个客户,或者每隔5分钟,自动获取一次最新20个用户的信息。当然可以,插件会提取自写程序所需的cookie和token两个参数一并推送,您可以保存供后续使用。
上面获取到的token和cookie有效期约为2-3天,有人会问有没有长期自动化的方法,第一、要摒弃这种“方案完美”才肯用的思维,先手动跑起来再说。第二、方法当然有,但是要收费(而且还不便宜,而且一般还不对外。我只是说我知道能,但别来问我哈)
示例代码
对于自行编程,您接收到cookie和token之后可以这样获取数据(python为例)
url = f"https://mp.weixin.qq.com/cgi-bin/user_tag?action=get_all_data&lang=zh_CN&token={token}"
headers={"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36", "cookie":cookie }
response = requests.get(url,headers=headers)
retstr = response.text
获取插件
扩展放在了谷歌应用商店中,欢迎大家使用和提出宝贵意见。
注意事项
公众号官方可能会控制获取数据的频次,请自行测试。由于使用本插件带来的任何后果我不承担任何责任。
本插件是有时效性的(本文发于2023.7.3),由于公众号官方后台随时可能更新,本插件也会更新,使用方法可能与上文描述的不完全一致。