zoukankan      html  css  js  c++  java
  • 2014-07-24 .NET实现微信公众号的消息回复与自定义菜单

      今天是在吾索实习的第12天。我们在这一天中,基本实现了微信公众号的消息回复与自定义菜单的创建。

      首先,是实现消息回复,其关键点如下:

    1. 读取POST来的数据流:Stream 数据流变量 = HttpContext.Current.Request.InputStream,并把其存入数组:数据流变量.Read(数组变量, 0, (int)数据流变量.Length) 后,再转换为字符串:string 字符串变量 = Encoding.UTF8.GetString(数组变量) 
    2. 在数据流所转换成的字符串中获取XML中所需的节点:根节点.SelectSingleNode("//所要节点的名字").InnerText
    3. 以XML文档格式向微信服务器返回消息,XML格式如下(以文本消息为例):
         "<xml>"+
             "<ToUserName><![CDATA[" + 用户账号 + "]]></ToUserName>"+
             "<FromUserName><![CDATA[" + 开发者公众号 + "]]></FromUserName>"+
             "<CreateTime>" + DateTime.Now.Ticks.ToString() + "</CreateTime>"+
             "<MsgType><![CDATA[text]]></MsgType>"+
             "<Content><![CDATA["+回复的内容+"]]></Content>"+
             "</xml>";

      另外,是创建自定义菜单,其关键点如下:

    1. 获取接口凭证access_token,发送请求给https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=开发者自己的APPID&secret=开发者自己的APPSECRET,即可获得access_token字符串。应注意的是,此字符串的有效期为两小时。
    2. 发送请求给https://api.weixin.qq.com/cgi-bin/menu/create?access_token=所获得的access_token。发送请求要应使用https协议。
    3. 以JSON格式编制具体自定义菜单的内容与功能。

      在今天对微信公众号的二次开发中,也遇到一些小插曲。就是编制好自定义菜单的代码后,在微信公众号的开发者中心中按提交修改服务器配置时,一直出现“系统发生错误,请稍后再试”。我们以为这次试验又要以失败告终的时候,却奇怪的发现服务号中的自定义菜单已经创建成功了。我们又回到网站看了一下,发现URL仍然没改变,但过了不久,在查看一遍,发现URL居然变了,这就令我们觉得相当奇怪了。真不知道,是代码编写有问题,还是微信那边的问题,希望有发生类似情况的各位能帮忙指点迷津,谢谢!

  • 相关阅读:
    阿衣楚往事
    加速计算机启动
    此一生,与谁相逢v
    关于cmd代码
    关于POJO
    ERP,SOA与J2EE什么关系
    QoBean技术文档(1):QoBean的基础技术
    ed 1.7 支持60种编程语言的免费编辑器
    面试必问的16个经典问题的回答思路
    Java 多线程间的通讯
  • 原文地址:https://www.cnblogs.com/IamYoung/p/3866766.html
Copyright © 2011-2022 走看看