微信开发 html5-教你如何开始陌陌公众号开发

2023-08-26 0 9,427 百度已收录

磨刀不误砍柴

您一定使用过陌陌公众号。 目前,陌陌公众号主要分为订阅号和服务号。 每个账户分为未认证账户和认证账户。 它们之间的主要区别在于它们具有不同的套接字权限。 案件:

不同类型公众号的权限

一般来说,服务账号权限 > 订阅账号权限,认证账号权限 > 未认证账号权限。 申请订阅号相对简单,但服务号则相对复杂。 此外,还必须提交一些额外材料进行认证。 我们可以根据不同的业务需求申请不同类型的账户。 基本上常用的权限列表已经可以满足大部分场景了。

陌陌公众号的开发本质上和一般网站开发没有什么区别。 当我们进入公众号页面时,我们可以向公众号发送文字、语音、图片等消息,或者点击页面底部的菜单来触发相应的功能。 那么开发者如何与陌陌用户互动呢? 其实我们在公众号中的所有操作都会发送到陌陌的服务器,而陌陌的服务器会按照一定的格式封装这个动作的具体含义并发送给陌陌公众号对应的服务器(这个服务器的地址可以由开发者在陌陌公众号后台配置),开发者通过编译代码来处理不同的用户行为,并将处理后的结果按照一定的格式返回给陌陌服务器,然后微信服务器发送到陌陌公众号,然后完成一个交互过程。 下面用一张来自方蓓老师博客的图片来展示这个过程,可以帮助大家更清楚地理解:

Momo用户与开发者的交互过程

至此我们可以知道,所谓的陌陌公众号的开发似乎就是为了处理用户操作请求而编写的业务代码。 这里会涉及到与Momo服务器的通信,还有一些安全认证方面的知识,后面会通过实际例子来讲解。 现在,我们就来看看具体的流程。

不用稻草砌砖

开发陌陌公众号需要准备以下两道菜:

1.微信公众号

陌陌公众号可在陌陌·官方平台官网申请。 前面提到,陌陌公众号分为多种类型,不同类型拥有不同的权限。 具体权限列表请参考陌陌官方平台技术文档。 值得注意的是,不再支持个人公众账号申请陌陌认证。 申请过程无非就是填写邮箱和信息。 推荐使用QQ邮箱,其实是我自己的东西。

2、服务器

因为我们的服务器需要和Momo服务器进行交互微信开发 html5,所以必须能够被Momo服务器访问。 很多公司提供不同价格的云服务器租赁,您可以自行申请。 详细内容在此不一一列举。 如果不想花钱申请,也可以使用一些内网穿透工具,将本地IP暴露到该网段,供外部访问。 具体工具请自行百度,但大多数软件的稳定性很难保证,而且分配的域名时不时会发生变化。 我个人的建议是申请服务器比较方便。 等公众号运营好了,开始有粉(​​li)了,这些都不是问题啦~

撸起袖子加油干

以下是详细步骤:

1.开启公众号开发者模式

为了让Momo服务器知道开发者服务器的存在,必须在公众号后台进行相应的配置。

(1)登录公众平台官网,找到右侧功能栏最下方,有一个基本配置选项

(2) 单击“基本配置”按钮,在右侧页面填写服务器的相关信息。 URL中填写内网IP:End Banner/wx,其中内网IP为服务器的内网IP地址,End Banner固定填写80。Token可以自由填写,用于之间的验证两台服务器。 详细见右图:

配置陌陌公众号

(3)点击提交按钮,提示配置失败。 这是很自然的,因为我们还需要在开发者服务器上进行配置来完成验证过程。

(4)为什么配置陌陌公众号时出现上述提示失败? 这里我们需要探讨一下认证过程。 当我们点击提交时,Momo服务器会向我们填写的URL发起GET请求微信开发 html5,并携带以下参数:timestamp、nonce、echostr、signature。 其中,timestamp是时间戳,nonce是随机数,echostr也是随机数。 这些都很常见。 重点是签名。 它的生成方式是将nonce、timestamp和token(也就是我们在网页中配置的TOKNE)组合起来,将三个字符串按照字典顺序排序后,通过哈希加密算法得到排序后的字符串列表。 我们的服务器收到GET请求后,根据上面提到的方法提取相应的参数并生成hashcode。 如果该值与参数中的签名相同,那么我们将返回 echostr 到 Momo 服务器,否则返回 null 值。 Momo服务器收到这个echostr后,会验证这个值是否与自己发送的echostr值相同。 如果相同,说明这个值确实是我们服务器返回的,那么验证完成,以后所有的信息都可以发送到服务器上的这个地址上。 这里涉及到一些关于安全认证的知识,有兴趣的同学可以参考更详细的资料。 一般来说,就是让通讯双方确认对方的真实身份。 以下是认证部分的主要代码,使用Python2.7和web.py框架编译:

验证开发者服务器

2.编写服务器业务逻辑

后来我们完成了Momo服务器和开发者服务器之间的相互认证过程,接下来我们需要编写业务逻辑代码来处理Momo服务器发送的信息。 以短信为例,当用户在公众号页面发送消息时,陌陌服务器会将消息封装成如下XML格式,并向开发者服务器发送POST请求作为请求内容:

Momo服务器封装的请求内容

每个数组的具体含义通过数组名来体现,更加直观。 我们首先需要解析这个 XML 对象并提取每个数组以进行后续处理:

解析 XML 对象

分析然后,我们可以根据不同类型的消息,在主函数中调用不同的处理函数来得到相应的处理结果,然后我们需要将处理结果封装成相同的XML格式返回给Momo服务器,封装XML对象代码如下(以短信为例):

封装 XML 对象

至此,我们就完成了一个简单的回复流程(虽然目前这些只能回复短信==)。

将其提升到一个新的水平

以上是一个基本的陌陌公众号开发流程。 其实我们想要让自己的公众号更加丰富多彩,我们还需要掌握很多内容。比如

(1)access_token:我们上面所做的实际上是被动回复消息。 Momo服务器发起POST请求,我们通过Momo服务器将处理后的内容返回给用户。 如果我们需要主动与用户进行交互,比如主动向用户发送消息,我们需要调用Momo公众平台提供的对应的socket,并且需要主动告诉Momo服务器我们的身份,这是通过访问令牌。

access_token是陌陌公众号全局唯一的socket调用凭证,公众号调用每个socket时都需要使用access_token。

上面提到,我们在调用各个socket之前,需要使用公众号的appid和appSecret信息(这两个值可以从陌陌公众号的网页查看)向陌陌服务器请求access_token,然后携带该值来调用Momo公共平台提供的socket来实现相应的功能。

(2)陌陌网页开发:网页开发是指编写一系列的HTML5页面,并引导用户在陌陌公众号中打开我们开发的页面,进而实现相关的业务逻辑。 该功能使得公众号能够像一个嵌入在陌陌中的应用程序一样,实现极其复杂的交互逻辑,但又比普通应用程序更加精致。

从这里

以上就是本文的主要内容。 楼主还是经验不足,大胆写文章。 如有不妥之处,欢迎强调。 本文主要是入门介绍。 后续发展还有很多值得学习的地方。 这里有一些我认为比较好的文档和资料。 笔者在小学的时候也学到了很多东西。 感谢作者们。

(1)陌陌官方平台技术文档

(2)方培工作室-陌陌公共平台开发教程

(3) 网络机器人

(4)陌陌开发者联盟

(5)Momo开发实战系列

本文代码已上传至github,其中包含陌陌公众号一些常用功能的实现,仅供参考:陌陌公众号开发示例程序

最后,如果有什么问题或者意见,欢迎在评论区交流。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 html5 微信开发 html5-教你如何开始陌陌公众号开发 https://www.wkzy.net/game/154256.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务