网站推广.NET

网站推广.NET

令人神往:微信小程序API访问准则

来源:互联网

访问概述

要访问微信小程序消息服务,开发人员需要遵循以下步骤:

1、填写服务器配置

2、验证服务器地址的有效性

3、基于接口文档实现业务逻辑

下面将详细介绍这3个步骤。

第1步:填写服务器配置

登录微信小程序官方网站后,在小程序官方网站的“设置-消息服务器”页面上,管理员扫描QR码以启用消息服务,并填写服务器地址(URL ),令牌和EncodingAESKey。

URL是开发人员用来接收微信消息和事件的接口URL。令牌可以由开发人员任意填写并用于生成签名(将令牌与接口URL中包含的令牌进行比较以验证安全性)。 EncodingAESKey由开发人员手动填写或随机生成,将用作消息正文的加密和解密密钥。

同时,开发人员可以选择消息加密和解密方法:纯文本模式,兼容模式和安全模式。您可以选择消息数据格式:XML格式或JSON格式。加密方法的默认状态为纯文本格式,数据格式的默认状态为XML格式。

模式和服务器配置的选择将在提交后立即生效。请开发人员填写并仔细选择。要切换加密方式和数据格式,需要预先配置相关代码。有关详细信息,请参阅消息加密和解密说明。

第2步:验证消息确实来自微信服务器

开发人员提交信息后,微信服务器将向填充的服务器地址URL发送GET请求。 GET请求包含的参数如下表所示:

参数说明

签名

微信加密签名,签名将开发人员填写的令牌参数与请求中的timestamp参数和nonce参数结合在一起。

时间戳

时间戳

立即

随机数

echostr

随机字符串

开发人员通过验证签名来验证请求(下面有一种验证方法)。如果您确认此GET请求来自微信服务器,请按原样返回echostr参数内容,该访问将生效并成功成为开发人员,否则访问将失败。加密/验证过程如下:1、按词典顺序对令牌,时间戳和随机数的三个参数进行排序; 2、将三个参数字符串连接为一个字符串以进行sha1加密; 3、开发人员获得加密后,可以将字符串与签名进行比较,以识别请求来自微信

测试签名的PHP示例代码:

private function checkSignature(){ $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; }}

下载PHP示例代码:下载

第3步:基于接口文档实施业务逻辑

在验证URL的有效性之后,访问将生效并成为开发人员。到目前为止,当用户向小程序客户服务发送消息或进入对话时,开发人员填写的服务器配置URL将获得微信服务器推送的消息和事件,开发人员可以根据他们自己的业务逻辑。

请注意,开发人员填写的URL必须以或开头,分别支持端口80和443