本篇文章主要讨论微信机器人的开发经验。微信机器人的功能需求很简单,业务代码贼好撸,但是如何和微信交互呢,如何取到微信数据调用相关聊天接口呢,具体分为以下几种技术类型:
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内无故掉线也看这里哦!
返回数据:
参数名 | 类型 | 说明 |
code | string | 1000成功,1001失败 |
msg | string | 反馈信息 |
data | ||
wcId | string | 微信id (唯一值) |
nickName | string | 昵称 |
deviceType | string | 扫码的设备类型 |
uin | int | 识别码 |
headUrl | string | 头像url |
wAccount | string | 手机上显示的微信号 (用户若手机改变微信号,本值会变) |
sex | int | 性别 |
mobilePhone | string | 绑定手机 |
status | string | 保留字段 |
请求参数示例
{
"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
}