appid:wxb89db0a3d285941f
已成功配置消息推送服务器地址
后端服务器调用(https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN)这个接口是可以收到回调的
但是前端通过wx.requestSubscribeMessage唤起弹窗后,用户同意/拒绝的行为事件不会推送到后端服务器
难道wx.requestSubscribeMessage的事件推送地址不是我上面截图里面配置的服务器地址吗?
我参考的是这个文档,文档上的意思是可以推送的,文档地址:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html#%E8%AE%A2%E9%98%85%E6%B6%88%E6%81%AF%E8%AF%AD%E9%9F%B3%E6%8F%90%E9%86%92
后端接收回调接口只有一个,不区分请求方式(GET/POST都能接收),支持了验签和request body参数解密,通过花生壳把本地内网端口映射到了公网,接口应该没问题,因为上面说到后端调用推送订阅消息接口之后可以收到回调
所以现在的问题症结在上图中文档说的用户对弹窗的行为(允许或拒绝)会不会推送回调数据到后端服务器?如果推送是在哪里配置地址?是我姿势不对么。。。还请各位大佬不吝赐教!
问题已解决,能收到回调,说下过程吧
1,先用了消息推送调试工具,能正常接收,调试工具地址:https://developers.weixin.qq.com/apiExplorer?type=messagePush
2,更改消息推送服务器地址配置,上文提到为了方便调试我用花生壳映射出来一个公网端口,后来我把地址改成我们测试环境的公网地址了
3,让前端小伙伴帮忙用真机测试了一下,猜测大概率是因为这个
记得是会推送,接收到请求时把日志打印出来看下
前端跟后端是分开的,用户订阅了不会通知后端的,用户订阅一次,后端可以通过send发送一次
{"ToUserName":"","FromUserName":"","CreateTime":"1709729279","MsgType":"event","Event":"subscribe_msg_popup_event","SubscribeMsgPopupEvent":{"List":[{"TemplateId":"","SubscribeStatusString":"reject","PopupScene":"0"},{"TemplateId":"-","SubscribeStatusString":"reject","PopupScene":"0"}]}}