微信公众号的接入指南在哪里?

9158APP 0

微信公众号的接入指南在哪里?

了解微信公众号的接入指南在哪里

访问概览

开发者接入微信公众平台进行开发,需要按照以下步骤进行:

填写服务器配置

验证服务器地址的有效性

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

下面详细描述这3 个步骤。

第一步:填写服务器配置

登录微信公众平台官网后,进入公众平台官网开发-基础设置页面,勾选成为开发者的协议,点击“修改配置”按钮,填写服务器地址(URL)、Token和EncodingAESKey,其中URL是开发者接收微信消息和事件的接口URL。 token可以由开发者任意填写,用于生成签名(该token会与接口URL中包含的token进行比对,以验证安全性)。 EncodingAESKey由开发者手动填写或随机生成,将作为消息体加解密密钥。

同时,开发者可以选择消息加解密方式:纯文本模式、兼容模式和安全模式。模式选择和服务器配置将在提交后立即生效。请开发者谨慎填写和选择。加解密默认状态为明文模式。选择兼容模式和安全模式需要提前配置相关的加解密代码。

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

开发者提交信息后,微信服务器会向填写的服务器地址URL发送GET请求。 GET请求携带的参数如下表所示:

签名:微信加密签名。签名将开发者填写的token参数与请求中的timestamp参数、nonce参数结合起来。

时间戳:时间戳

nonce:随机数

echostr:随机字符串

开发者通过检查签名来验证请求(验证方法如下)。如果确认该GET请求来自微信服务器,请原样返回echostr参数内容,则访问生效,成功成为开发者,否则访问失败。加密/验证过程如下:

1)将token、timestamp、nonce这三个参数按字典顺序排序

2)将三个参数字符串拼接成一个字符串进行sha1加密

3)开发者获得的加密字符串与签名进行比对,可以识别出该请求来自微信。

检查签名的PHP 示例代码:

私有函数checkSignature()

{

$signature=$_GET['签名'];

$timestamp=$_GET['timestamp'];

$nonce=$_GET['nonce'];

$令牌=令牌;

$tmpArr=数组($token, $timestamp, $nonce);

排序($tmpArr,SORT_STRING);

$tmpStr=内爆( $tmpArr );

$tmpStr=sha1( $tmpStr );

if( $tmpStr==$signature ){

返回真;

}别的{

返回假;

}

}

第三步:根据接口文档实现业务逻辑

成功验证URL有效性后,访问生效,您将成为开发者。您可以在公众平台网站上申请微信认证。认证成功后,您将获得更多接口权限,满足更多业务需求。

成为开发者后,用户每次向公众号发送消息,或者生成自定义菜单,或者生成微信支付订单时,开发者填写的服务器配置URL都会获取微信服务器推送的消息和事件。开发者可以根据自己的业务逻辑进行Respond,比如回复消息。

公众号调用各个接口时,一般都会得到正确的结果。具体结果可以参见相应接口的说明。当返回错误时,可以根据返回码查询错误原因。

当用户向公众号发送消息时,公众号收到的消息的发送者是一个OpenID,它是使用用户的微信帐号加密的结果。每个用户的每个公众号都有一个唯一的OpenID。

另外,由于开发者经常需要跨多个平台(移动应用、网站、公众号)共享用户账号、统一账号体系,微信开放平台提供了UnionID机制。开发者可以通过OpenID获取用户的基本信息。如果开发者拥有多个应用(移动应用、网站应用和公众号,公众号只有绑定微信开放平台账号后才会获取UnionID)。用户的唯一性可以通过获取用户基本信息中的UnionID来区分,因为只要同一个微信开放平台账号下存在移动应用、网站应用和公众号,用户的UnionID都是唯一的。也就是说,同一用户在同一个微信开放平台账号下的不同应用,拥有相同的UnionID。详情请查看微信开放平台资源中心-移动应用开发-微信登录-授权关系接口调用指南-获取用户个人信息(UnionID机制)。

另请注意,微信公众号接口必须以http://或https://开头,分别支持80端口和443端口。

微信公众号的接入指南在哪里? 通过上面的内容大家都了解了一些。已经学会的朋友可以尝试一下!