目录
3. 使用.net 操作 微信公众平台 —— 接收并回复用户消息
工具
生成微信菜单
1. 创建txt,保存菜单
{
"button":[
{
"type":"view",
"name":"百度中心",
"url":"https://www.baidu.com/"
},{
"name":"购物",
"sub_button":[
{
"type":"view",
"name":"淘宝",
"url":"https://www.taobao.com/"
},
{
"type":"view",
"name":"京东",
"url":"https://www.jd.com/"
}]
},{
"name":"其他",
"sub_button":[
{
"type":"view",
"name":"地址1",
"url":"http://1.com"
},
{
"type":"view",
"name":"地址2",
"url":"http://2.com"
},
{
"type":"view",
"name":"地址3",
"url":"http://3.com"
},
{
"type":"view",
"name":"地址4",
"url":"http://4.com"
},
{
"type":"view",
"name":"地址5",
"url":"http://5.com"
}]
}]
}
2. 使用access_token和txt,创建菜单
/// <summary>
/// 创建菜单
/// </summary>
/// <param name="access_token">查看工具 生成AccessToken</param>
/// <returns></returns>
public static dynamic CreateMenu(string access_token)
{
string url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=";
url += access_token;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";//大小写不限
string menuPath = HttpContext.Current.Server.MapPath(@"~/wxMenu.txt");
Stream ms = File.Open(menuPath, FileMode.OpenOrCreate);
byte[] paramb = new byte[ms.Length];
ms.Read(paramb, 0, (Int32)ms.Length);
string param = Encoding.Default.GetString(paramb);
ms.Close();
using (StreamWriter stream = new StreamWriter(req.GetRequestStream()))
{
stream.Write(param);
}
using (HttpWebResponse response = (HttpWebResponse)req.GetResponse())
{
Stream s = response.GetResponseStream();
StreamReader sr = new StreamReader(s);
string result = sr.ReadToEnd();
sr.Close();
return JsonConvert.DeserializeObject<WxResult>(result);
}
}
3. 将程序发布到服务器,执行 CreateMenu
4. 执行结果
正确返回结果(errcode的值为0)
{
"access_token": null,
"expires_in": null,
"refresh_token": null,
"openid": null,
"scope": null,
"errcode": 0,
"errmsg": "ok"
}