本篇文章主要讨论微信机器人的开发经验。微信机器人的功能需求很简单,业务代码贼好撸,但是如何和微信交互呢,如何取到微信数据调用相关聊天接口呢,具体分为以下几种技术类型:
1.微信Web接口
17年后微信都不支持了,不过还是有一些牛×的star 都是过W star的项目,可惜荒废了。
2.手机Xposed和电脑 PC
都是HOOK技术,是需要懂汇编,懂c或c++才可以开发自定义,重点是还需要公司去买采购刷机的手机和windows服务器,一个号成本几千块,条件不允许啊!!
3.E云管家方案
这个方案目前可使用的内容上来说,是功能最全的,而且安全性相比其他方案更好,安全性、稳定性比较优秀。难点是,目前并没有被公开,自己分析代价很大,需要企业合作。
简要描述:
执行登录(确认登录)
请求URL:
http://域名地址/getIPadLoginInfo
请求方式:
POST
请求头Headers:(别忘了传)
Content-Type:application/json
Authorization:login接口返回
参数:
参数名必选类型说明
wId是string登录实例标识
verifyCode否string验证码
默认不传,若扫码结束后,本接口返回提示"请在ipad上输入验证码"
,则再调用1次本接口且传验证码即可(PS:极少情况下会出现此情况,可忽略此字段)
小提示:
此接口为检测耗时接口,最长250S返回请求,用户VX扫码了会返回结果,且扫码成功后手机上会显示ipad登录成功,才可以收发消息及调用其它接口!
首次登录平台,24小时内会掉线1次,且72小时内不能发送朋友圈,掉线后必须传wcid调用获取二维码接口再次扫码登录即可实现3月内不掉线哦, 详细规范点击这里(第1大类1小节) PS:若出现登录60S内无故掉线也看这里哦!
返回数据:
参数名类型说明
codestring1000成功,1001失败
msgstring反馈信息
data
wcIdstring微信id
(唯一值)
nickNamestring昵称
deviceTypestring扫码的设备类型
uinint识别码
headUrlstring头像url
wAccountstring手机上显示的微信号
(用户若手机改变微信号,本值会变)
sexint性别
mobilePhonestring绑定手机
statusstring保留字段
请求参数示例
{"wId":"0000016e-63eb-f319-0001-ed01076abf1f"}
成功返回示例
{"code":"1000","message":"处理成功","data":{"country":"CN","wAccount":"hi1212","deviceType":"android","city":"","signature":"我的签名如风一样难以琢磨","nickName":"贝塔同学","sex":2,"headUrl":"http://wx.qlogo.cn/mmhead/ver_1/EImpg1FWcIdhPg3zRAnkVdVdV2hic1Mib7zZ9mLTwhv5QzhNrdTCL0nKAsOgiaRrJmQwrXnBY7c1QNDo4aNc8niaicYuQpLPbJqyaJ6sKjlm5mKY/0","type":2,"smallHeadImgUrl":"http://wx.qlogo.cn/mmhead/ver_1/EImpg1FWcIdhPg3zRAnkVdVdV2hic1Mib7zZ9mLTwhv5QzhNrdTCL0nKAsOgiaRrJmQwrXnBY7c1QNDo4aNc8niaicYuQpLPbJqyaJ6sKjlm5mKY/132","wcId":"wxid_ylxtxxg0p8bx22","wId":"25d50610-1a82-4531-b9db-dd80c5a3c14a","mobilePhone":"19822121231","uin":124723525,"status":3,"username":"18013350963"}}
错误返回示例
{"message":"失败","code":"1001","data":null}