前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信公众平台开发----自定义菜单、消息处理及获取OpenID(C#)

微信公众平台开发----自定义菜单、消息处理及获取OpenID(C#)

作者头像
庞小明
发布2018-09-19 14:40:39
4.4K0
发布2018-09-19 14:40:39
举报
文章被收录于专栏:pangguomingpangguoming

一、成为开发者

  1. 服务器配置 登录微信公众平台官网后,在公众平台后台管理页面 开发者中心页,点击“修改配置”按钮,填写服务器地址(URL)、Token和EncodingAESKey,如下图所示:
微信服务器配置
微信服务器配置
代码语言:javascript
复制
   其中URL是开发者用来接收微信消息和事件的接口URL。Token可由开发者任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。

2. 验证URL

代码语言:javascript
复制
       开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带四个参数:
这里写图片描述
这里写图片描述
代码语言:markdown
复制
加密/校验流程如下:
1. 将token、timestamp、nonce三个参数进行字典序排序
2. 将三个参数字符串拼接成一个字符串进行sha1加密
3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

按照该流程,在上面填写的服务器中,写入如下验证代码:

这里写图片描述
这里写图片描述

将以上代码部署到服务器端,通过微信公众平台去验证,如果验证成功,则成为开发者成功,否则失败。验证成功后显示如下图:

这里写图片描述
这里写图片描述

二、创建菜单

  1. 新建菜单JSON文件,如下图所示: 
这里写图片描述
这里写图片描述

其中,button目录下为以及菜单,sub_button下为二级菜单

  1. 获取acxess_token access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效
这里写图片描述
这里写图片描述

参数说明 

这里写图片描述
这里写图片描述
  1. 创建菜单
这里写图片描述
这里写图片描述
代码语言:text
复制
注意: 
1、自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。
2、一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“...”代替。
3、创建自定义菜单后,由于微信客户端缓存,需要24小时微信客户端才会展现出来。

三、消息处理

代码语言:javascript
复制
 对消息的监听操作,要放置到最初配置URL的服务器中进行操作。判断是事件还是信息。

1. 消息监听

代码语言:html
复制
<xml>
 <ToUserName><![CDATA[toUser]]></ToUserName>
 <FromUserName><![CDATA[fromUser]]></FromUserName> 
 <CreateTime>1348831860</CreateTime>
 <MsgType><![CDATA[text]]></MsgType>
 <Content><![CDATA[this is a test]]></Content>
 <MsgId>1234567890123456</MsgId>
 </xml>
这里写图片描述
这里写图片描述

2. 事件监听

代码语言:javascript
复制
    点击菜单拉取消息时的事件推送 

推送XML数据包示例:

代码语言:html
复制
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[CLICK]]></Event>
<EventKey><![CDATA[EVENTKEY]]></EventKey>
</xml>
获取菜单点击事件
获取菜单点击事件

四、获取openID

代码语言:javascript
复制
 用户向公众号发送消息时,公众号方收到的消息发送者是一个OpenID,是使用用户微信号加密后的结果,每个用户对每个公众号有一个唯一的OpenID。

消息返回参数如下: 

消息参数列表
消息参数列表

解析XML,并获取OpenID:

获取OpenID
获取OpenID
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-08-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、成为开发者
  • 二、创建菜单
  • 三、消息处理
  • 四、获取openID
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档