微信公众号--消息回复
消息回复
使用微信进行接口实现消息自动回复,要在微信公众号中进行服务器配置和编写对应的服务器代码响应微信端的请求。
服务器配置
l 公众平台官网登录之后,找到“基本配置”菜单栏
l 填写配置
现在选择提交肯定是验证token失败,因为还需要完成代码逻辑编写。
服务端代码编写
服务器配置时,微信服务器会向填写的url地址发送Get请求来验证服务器的合法性,逻辑流程图如下
以PHP语言为例,编写验证服务器合法性的示例代码如下:
<?php
$signature = isset($_GET["signature"])?$_GET["signature"]:'';
$signature = isset($_GET["msg_signature"])?$_GET["msg_signature"]:$signature; //如果存在加密验证则用加密验证段
$timestamp = isset($_GET["timestamp"])?$_GET["timestamp"]:'';
$nonce = isset($_GET["nonce"])?$_GET["nonce"]:'';
$token = 'your token';
$tmpArr = array($token, $timestamp, $nonce,$str);
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
$echoStr = $_GET["echostr"];
die($echoStr);
}else{
die('no access');
}
回复代码
根据以上的描述,正确填写服务器配置后,微信会将接收到的图文等信息自动转发到配置的服务器地址中。图文等消息回复流程如下,核心逻辑为解析微信端post过来的xml消息数据,根据解析的消息类型,根据消息类型返回处理结果。
查询官方wiki 开头强调: 假如服务器无法保证在五秒内处理回复,则必须回复“success”或者“”(空串),否则微信后台会发起三次重试。
解释一下为何有这么奇怪的规定。发起重试是微信后台为了尽可以保证粉丝发送的内容开发者均可以收到。如果开发者不进行回复,微信后台没办法确认开发者已收到消息,只好重试。
真的是这样子吗?尝试一下收到消息后,不做任何回复。在日志中查看到微信后台发起了三次重试操作,日志截图如下:
三次重试后,依旧没有及时回复任何内容,系统自动在粉丝会话界面出现错误提示“该公众号暂时无法提供服务,请稍后再试”。
转载于:https://www.cnblogs.com/SLchuck/p/8530955.html
微信公众号--消息回复相关推荐
- 解决微信公众号消息回复五秒限制最好方法
如题 很多朋友发现在消息回复处理业务的时候,可能时间不固定,甚至超过5s,亲测可用 我的办法是不用消息回复接口,全部改用客服消息接口 1.收到消息后,首先回复"处理中,请稍等" 2 ...
- 微信公众号私信回复内容怎么设置
微信公众号私信回复内容怎么设置,公众号自定义回复怎么设置?快来查收这份公众号实操攻略~ #公众号自定义回复 #公众号攻略 公众平台自定义回复 进的时候无法随时守在微信应用中,特别是使用微信办公的人群 ...
- 微信公众号消息增加跳转链接
微信公众号消息增加跳转链接 背景: 用户在首次关注公众号后会弹出一条欢迎消息.给这条消息增加跳转的链接,使得用户在点击之后可以跳转 到一个你希望用户访问的页面. 解决方案: 根据微信开发者文档,找到了 ...
- 微信公众号关注回复多条信息(文字、图片、视频、跳转小程序)
微信公众号关注回复多条信息(文字.图片.视频.跳转小程序) 对于没做过关注回复多条信息的开发来说,没有实现的思路,花费了一天的时间研究写代码.测试,现做个记录 思路 公众号后台配置关注自动回复只能配置 ...
- java 微信群发多图文_[Java教程]httpClient实现微信公众号消息群发
[Java教程]httpClient实现微信公众号消息群发 0 2016-09-21 20:00:10 1.实现功能 向关注了微信公众号的微信用户群发消息.(可以是所有的用户,也可以是提供了微信ope ...
- 实现微信公众号评论回复功能
最近做一个项目,实现类似微信公众号评论回复功能,如图所示: 大概分以下几个组件: 表情包组件: <template><div class="showEmjio" ...
- 微信公众号消息模板发送
微信公众号消息模板发送 微信公众号消息模板群发功能 开通申请模板消息功能 获取模板消息发送所需参数 AccessToken pojo类 TemplateData pojo类 WxTagsEntity ...
- 微信公众号消息通知手把手教程
项目需求:微信公众号消息推送 首先你需要我给你提供以下地址 方便你进行开发 准备阶段: a 模版消息推送开发文档 链接 b 微信公众号测试号地址 链接 c 微信公众平台接口调试工具 链接 ...
- 微信公众号消息推送开发(模板消息):点击推送消息跳转到网页或者小程序(三)
需求场景: 点击推送的消息后跳转到小程序中的某个页面,或者跳转到某一个网页上,例如有这样一个需求,在商城平台购买产品后,需要通过公众号给用户推送订单详细并且点击消息可以看到对应的订单详情.以下我将在微 ...
最新文章
- roya mysql_MySQL安装及基础知识
- POJ 1062 昂贵的聘礼
- OpenCV学习之路之OpenCV安装(VS2013版)
- laravel上传到七牛图片插件
- C#中的cookie编程
- Minimize the Permutation CodeForces - 1256(贪心)
- 一文理清Http2.0
- 浪潮业务稳定连续性获Global Data唯一“Leader”评级 蝉联数据中心整体能力“Very Strong”评级
- java web框架 django_django——web框架简介
- UI-12组结对编程作业总结
- fiddler模拟弱网测试
- 以德治国——《万历十五年》的读书笔记及读后感想2900字
- 《关键对话——掌握关键对话》读书笔记(二)
- html常用标签和属性
- 做毕设|墨墨背单词+单词本(小程序)01
- 甘特图——项目管理的理想控制工具
- KMS工具激活office2016报错0x80080005的解决记录
- 广工Anyview数据结构2021-C语言版--第一章
- python取元素_python 如何提取对象内的元素
- 【软件测试】瓶颈?资深测试聊测试开发的瓶颈在哪?
热门文章
- java 最小堆_Java最小堆实现
- 严重: A child container failed during start
- mysql 重置更新祖级字段
- 【mysql】时间戳
- IOS下,javascript 自带的 confirm 首次必返回 false
- mkl_def.dll文件加载失败
- 编译 PHP7.0为什么那么慢,CentOS 7编译安装php7.0.7以及可能遇到的问题的解决方案...
- 华为云welink考试试题_华为内部开启WeLink项目,华为云是这样考虑的-通信/网络-与非网...
- 计算机组装与维修案例分析,计算机组装毕业论文
- matlab parfor不能用,matlab中parfor函数