终于到了实战阶段.用微信公众号实现一个简单的签到功能. 前情提要: 微信公众号token验证失败 使用flask搭建微信公众号:完成token的验证 使用flask搭建微信公众号:接收与回复消息 程序逻辑如下图 发起签到 生成"随机数.txt"文件,并将随机数返回作为签到码,将签到码返回给发起签到的用户 def gensign(): sign_number=random.randint(1000,9999) f = open(str(sign_number)+'.txt','w') f…
token验证的意义 在看了别人的代码之后对token加密有了些理解了.但又觉得很鸡肋.第一次验证服务器的时候我在那弄了半天的验证其实不写也可以验证成功,只要直接返回echostr这个字段就行了.微信的服务器只检查我的服务器返回的值和他想要的值是否一样,来判断是否验证成功,但是验证的过程是我在自己的服务器上做的,我可以不验证,直接返回他想要的值.虽然这样违背安全的目的. 微信这个token验证应该不只是第一次验证服务器时要用,应该是每次接收消息都要验证是不是从微信服务器发送过来的.第一次是get…
上一篇文章讨论了官方给的例子验证token失败的解决方法:微信公众号token验证失败 想了一下,还是决定不适用web.py这个框架.因为搜了一下他的中文文档不多,学起来可能会有点麻烦.而且看着他没有主动取适应python3.0,pip安装默认还是python2,例子什么的也都是python2的.我不太想回到python2.所以我选择了flask这个框架,简单而且文档比较多. 下面介绍flask完成服务器验证.因为有了上一次的经验,知道了验证就是获取几个get的数据包,然后加密再确认就可以了.所…
微信公众号发送客服消息提示errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint:解决办法[已解决] 问题原因:由于长时间用户OpenId未和微信公众号做互动消息,微信公众号会停止对用户进行消息推送. 解决办法:以用户的身份随机向微信公众号对话框内输入任意文字已达到激活和微信公众号的互动,再次发送客服消息就会成功!…
1.进入微信公众号首页,进行注册登录 https://mp.weixin.qq.com/ 2.进入个人首页,进行公众号设置 可参照 公众号文档 进行开发 开发前 先阅读 接口权限列表 3.配置服务器 服务器地址(URL) 令牌(Token) import hashlib @app.route('/wx',methods=['GET','POST']) def wx(): if request.method == 'GET': signature = request.args.get('signa…
微信公众平台的开发者文档https://www.w3cschool.cn/weixinkaifawendang/ python,flask,SAE(新浪云),搭建开发微信公众账号http://www.oschina.net/code/snippet_1768500_36580 从零开始 Python 微信公众号开发https://zhuanlan.zhihu.com/p/21354943 新浪云应用http://www.sinacloud.com/doc/sae/python/ SAE Pyth…
前言 使用python语言,django web框架,以及wechatpy,快速完成微信公众号后台服务的简易搭建,做记录于此. wechatpy是一个python的微信公众平台sdk,封装了被动消息和主动推送的各种api,做公众平台开发时只需关注消息内容,无需处理xml解析等工作. 项目地址:https://github.com/jxtech/wechatpy 文档地址:http://docs.wechatpy.org/ 开始搭建 环境配置 首先当然是安装django,安装wechatpy. 可…
使用语言和框架:本人后端开发使用的Python的DRF(Django REST framework)框架 需求:在微信公众号开发时,需要实现自动回复,即被关注回复.收到消息回复.关键词回复 发现问题:按照微信公众号的开发文档,在写完逻辑代码后,测试时发现:Content回复的消息内容,使用"\n",预期效果应该是文字内容有换行效果,微信的文档也说明了换行可以使用"\n"换行符,但是实际测试的效果是没有换行.这个问题纠结了一天,最后发现是我响应给微信服务器的数据类型错…
在配置好开发者配置后,本人第一个想要实现的是自动回复消息的功能,说明以下几点: 1. url 仍然不变,还是开发配置里的url 2. 微信采用 xml 格式传输数据 3.微信服务器传给我们的参数主要有(如图): 附上解析xml类的依赖: <!-- dom对象读取写入xml文件 --> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <ver…
服务器配置Linux+Nginx+PHP5.5+mysql index方法配置微信的关注回复.菜单事件.多客服.自动回复等 public function actionIndex() { if (isset($_GET["echostr"]) && !empty($_GET["echostr"])) { $this->valid(); } else { $postStr = isset($GLOBALS["HTTP_RAW_POST_…
上一篇文章我们知道怎么获取二维码,这样别人就可以扫描二维码来关注我们,但是别人关注后,发送消息,我们怎么进行相关处理? 这里我们就来学习下怎么处理处理这些消息,以及推送消息. 学习之前首先你需要有一个域名和空间 url:填写你希望微信公众平台把用户的消息转发到哪里 token:随便输入,用于微信公众平台和你的站点进行第一次通信建立关联用 /* 用于第一次验证我们网站url合法性 */ public function firstValid(){ //检验签名的合法性 if($this->_chec…
官方文档 https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_standard_messages.html 1:结合上篇继续再services目录下的WechatService.php继续封装 https://www.cnblogs.com/xiaoyantongxue/p/15803334.html <?php namespace app\services; use think\Log; c…
微信向第三方服务器发送请求时会降 signature .timestamp. nonce . openid(用户标识),发送内容会以 xml 的形式附加在请求中 回复消息前提我们得拿到用户id , 用户发送内容等信息,用户发送内容格式参考微信官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140453 想要获取用户发送信息,需要从请求中获得 xml ,因此需要用到 raw-body(获得原生请求体) npm inst…
转自:http://www.cuiyongzhi.com/post/42.html 前面有说道对接收到微信服务器消息后对消息的分类,当时主要分为普通消息和事件消息,这里我们要讲述的是我们在给用户回复的消息类型,在这里也可以大致分为两类:一种为不需要上传资源到微信服务器的这里成为[普通消息回复]:还有一种需要上传资源到微信服务器的这里称为[多媒体消息回复]! 普通消息回复:回复文本消息/回复图文消息 多媒体消息回复:回复图片消息/回复语音消息/回复视频消息/回复音乐消息 (一)回复消息基类的实现…
一条命令解决的外网访问内网问题 本地WEB外网访问.本地开发微信.TCP端口转发 平台登陆地址:http://www.ngrok.cc/login 新版本上线启动方式更简单使用视频教程 在路由器上面的使用视频教程 微信开发教程已在网易云课堂上线微信开发教程观看地址 官方QQ群:532387951(一号群已满)276155731(二号群已满)427801919(三号群已满)426298277(四号群) 目前已有:20150人使用,运行21874项服务   简单 无需任何配置,下载客户端之后直接一条…
import hashlib import xml.etree.ElementTree as ET from flask import Flask, request import time app = Flask(__name__) app.debug = True @app.route('/', methods=['GET', 'POST']) def haha(): if request.method == 'GET': token = '20124003' # 微信配置所需的token s…
推荐一个网站www.itziy.com csdn免积分下载器.pudn免积分下载器.51cto免积分下载器www.verypan.com 百度网盘搜索引擎www.94cto.com 编程相关视频教程.电子书.源码.开发工具.文档手册模拟登录微信公共平台,实现主动信息发送: 突破订阅号一天只能发送一条信息的限制. 使用编码UTF-8代码地址:https://github.com/itziy/wechat使用方法: $arr = array( 'account' => '公众平台帐号', 'pass…
以tshop为例 直接上代码: 企业 cc_wx_sys表为自建,存储系统消息的配置的 字段: id type key status <?php /** * tpshop * ============================================================================ * * 版权所有 2015-2027 深圳搜豹网络科技有限公司,并保留所有权利. * 网站地址: http://www.tp-shop.cn * ------------…
新建图文回复模板reply_pictext.xml: $def with (toUser,fromUser,createTime,title1,description1,picurl1,url1)<xml><ToUserName><![CDATA[$toUser]]></ToUserName><FromUserName><![CDATA[$fromUser]]></FromUserName><CreateTime&g…
公众号接口 1. 公众号消息会话 目前公众号内主要有这样几类消息服务的类型,分别用于不同的场景. 群发消息 公众号可以以一定频次(订阅号为每天1次,服务号为每月4次),向用户群发消息,包括文字消息.图文消息.图片.视频.语音等. 被动回复消息 在用户给公众号发消息后,微信服务器会将消息发到开发者预先在开发者中心设置的服务器地址(开发者需要进行消息真实性验证),公众号可以在5秒内做出回复,可以回复一个消息,也可以回复命令告诉微信服务器这条消息暂不回复.被动回复消息可以设置加密(在公众平台官网的开发…
上篇说完了如何接入微信公众号,本文说一下微信公众号的最基本功能:普通消息的接收和回复.说到普通消息,那么什么是微信公众号所定义的普通消息呢,微信开发者文档中提到的接收的普通消息包括如下几类: 1.文本消息2.图片消息3.语音消息4.视频消息5.小视频消息6.地理位置消息7.链接消息(被动回复的消息) 被动回复的普通消息包括: 1.回复文本消息2.回复图片消息3.回复语音消息4.回复视频消息5.回复音乐消息6.回复图文消息 其实接收消息和被动回复消息这两个动作是不分家的,这本来就是一个交互场景,一…
1. 概述: 在本篇教程中,你将学会使用华为云弹性云服务器(以下简称 ECS)搭建微信公众号处理后台,使用Python语言编写对应的微信消息处理逻辑代码,接收从微信服务端转发过来的消息,并返回处理结果给最终用户.整个处理流程如下图所示: 您需要了解的背景知识有: CentOS(Linux)操作系统.PHP语言.Web.py框架.HTTP/XML协议. 1.1 准备事项 申请微信公众号 微信公众号申请链接:https://mp.weixin.qq.com/cgi-bin/loginpage?t=w…
目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 前言 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流程是这样的,用户发送消息到微信服务器,微信服务器将接收到的消息post到用户接入时填写的url中,在url处理程序中,首先判断消息的合法性,判断成功后根据消息体的内容做相应的相应.原理很容易理解,接触过socket的可能理解起来更容易. 其实微信开发并不是很麻烦或者很难,官方给的文档也还算过的去(至…
作者:王先荣    本文介绍如何处理微信公众号开发中的消息与事件,包括:(1)消息(事件)概况:(2)验证消息的真实性:(3)解析消息:(4)被动回复消息:(5)发送其他消息.    开源项目地址:http://git.oschina.net/xrwang2/xrwang.weixin.PublicAccount     本文源代码比较分散,主要在:    http://git.oschina.net/xrwang2/xrwang.weixin.PublicAccount/blob/master…
作者:王先荣    本文介绍微信公众号中的模板消息,包括以下内容:(1)TemplateMessage类简介:(2)设置所属行业:(3)获得模板id:(4)发送模板消息:(5)接收推送模板消息发送结果事件.    本文演示地址:http://xrwang.net/Example/TemplateMessage.aspx    本文源代码地址:    http://git.oschina.net/xrwang2/xrwang.weixin.PublicAccount/tree/master/Pub…
1,问题产生 在微信公众号开发过程中,我们有时候做不同权限的时候,比如在注册的时候,需要审核,然后我们要想办法让对方知道审核的结果.这时候我们可以通过模板消息来通知. 2,第一步,首先在微信公众号上获取模板消息 首先,登录微信公众平台,看有没有模板消息这一块,没有的话点击添加功能插件,去添加,这里就省略不说了,这个主要就是选择你公众号的行业对应的模板消息,然后通过审核之后就可以使用了,说是几个工作日 但是一般很快就审核通过的. 有模板消息之后点进来,对应自己所需要的模板消息进行添加,比如,我添加…
上一篇分享了搭建微信公众号server,本文分享一下假设获取access_Token和用户信息.工具还是新浪云SAE 1.获取access_Token 相见开发文档:https://mp.weixin.qq.com/wiki/14/9f9c82c1af308e3b14ba9b973f99a8ba.html accesstoken是公众号的全局唯一票据,公众号调用各接口时都需使用accesstoken.开发人员须要进行妥善保存.accesstoken的存储至少要保留512个字符空间.accesst…
一.准备域名并完成解析 关于域名,我买的是阿里的一个1元/年的廉价域名,同时国内域名都需要备案,当时在这里耽搁了挺久的. 域名解析的话,在阿里云官方帮助文档里有.传送门:https://help.aliyun.com/document_detail/29716.html 二.申请微信个人订阅号 在微信公众号平台注册开发者账号 传送门:https://mp.weixin.qq.com/ 获取公众平台认证字段信息 AppID:登入平台,选择 开发-基本配置 Token:基本配置-服务器配置-修改配置…
最近重新研究了微信公众号的高级接口,原来也利用C#或JAVA写过微信公众号,主要是消息的基础接口. 由于当时不知道微信公众号可以申请测试公众号,微信测试公众号基本上没有任何限制,对于开发来说是一个不错的选择, 以后如需要实现自己的公众号只需要认证或申请服务号,把代码中的APPID和APPSECERT进行替换就OK了. 本次主要是用NodeJS为进行实现,为什么换成NodeJS呢而不是以前已处理好的C#或JAVA呢? 主要是想用一个免费的公共云服务进行部署应用(具体https://leanclou…
目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 (四)微信公众号开发之网页授权获取用户基本信息 (五)微信公众号开发之网页中及时获取当前用户Openid及注意事项 前言 这篇主要是承接上篇的网页授权获取用户基本信息的后文,也是对第一种静默授权之后,用户点击公众号内链接时,如何再次取得当前用户的OpenId的大致讲解和一些注意事项. 看过上一篇的小伙伴都知道,我们在用户关注的时候就已经将该用户的基本信息存入数据库中,那么如果…