微信公众平台--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&timestamp=1457659914&nonce=1534656649

之后推送事件的时候接受的参数是这样的:

?signature=648f902f65c63fe8c1ddf38ccd70fa00ca2e6103&timestamp=1457659741&nonce=796965601

通过对比上面url里面的参数,将验证和处理事件推送区分开就ok了。

依据接口文档实现业务逻辑

用户每次向公众号发送消息或者产生自定义菜单点击事件时,开发者填写的服务器配置URL将得到微信服务器推送过来的消息和事件,然后开发者可以依据自身业务逻辑进行响应。

用户向公众号发送消息时,公众号方收到的消息发送者是一个OpenID,是使用用户微信号加密后的结果,每个用户对每个公众号有一个唯一的OpenID

 

微信公众号接口只支持80接口

 

posted @   sundong_wyz  阅读(755)  评论(0编辑  收藏  举报
编辑推荐:
· .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
点击右上角即可分享
微信分享提示