微信公众平台--1.开发者接入
微信开通服务号,并且申请成为开发者,获取到appid和appsecret后,需要配置接入。
填写服务器配置
1. URL(服务器地址)
2. Token(令牌)
3. EncodingAESKey(消息加解密密钥)
4. 消息加解密方式:
明文模式(不使用消息加解密功能)
兼容模式(明文、密文共存,方便开发者调试和维护)
安全模式(消息包为纯密文,需要开发者加密和解密,安全系数高)
验证服务器地址的有效性(URL)
开发者提交消息后,微信服务器将发送GET请求到填写的服务器地址URL上
开发者通过检验signature对请求进行校验(校验方式在此不做描述)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | private function checkSignature() //检验signature的PHP示例代码 { $signature = $_GET [ "signature" ]; $timestamp = $_GET [ "timestamp" ]; $nonce = $_GET [ "nonce" ]; $token = TOKEN; $tmpArr = array ( $token , $timestamp , $nonce ); sort( $tmpArr , SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if ( $tmpStr == $signature ){ return true; } else { return false; } } |
第一次填写验证时候url里面包含的参数是这样的:
?signature=855683526c67568fea8bca2b9a3ca76a04626784&echostr=405235951829235694×tamp=1457659914&nonce=1534656649
之后推送事件的时候接受的参数是这样的:
?signature=648f902f65c63fe8c1ddf38ccd70fa00ca2e6103×tamp=1457659741&nonce=796965601
通过对比上面url里面的参数,将验证和处理事件推送区分开就ok了。
依据接口文档实现业务逻辑
用户每次向公众号发送消息或者产生自定义菜单点击事件时,开发者填写的服务器配置URL将得到微信服务器推送过来的消息和事件,然后开发者可以依据自身业务逻辑进行响应。
用户向公众号发送消息时,公众号方收到的消息发送者是一个OpenID,是使用用户微信号加密后的结果,每个用户对每个公众号有一个唯一的OpenID
微信公众号接口只支持80接口
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· .NET Core GC压缩(compact_phase)底层原理浅谈
· Winform-耗时操作导致界面渲染滞后
· Phi小模型开发教程:C#使用本地模型Phi视觉模型分析图像,实现图片分类、搜索等功能
· 语音处理 开源项目 EchoSharp