读书人

如何实现通过POST一个特定结构体实现

发布时间: 2013-08-09 15:16:24 作者: rapoo

怎么实现通过POST一个特定结构体,实现在微信客户端创建自定义菜单
本帖最后由 flyzq0525 于 2013-08-06 16:55:06 编辑 .net开发微信公众平台,开发者申请,自定义菜单申请全部通过了,现在腾讯开放自定义菜单,搜各种资料,我是这么写的

string responeJsonStr="**********";//json格式
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
Stream reqstream = req.GetRequestStream();
byte[] b = Encoding.ASCII.GetBytes(responeJsonStr);
reqstream.Write(b, 0, b.Length);
StreamReader responseReader = new StreamReader(req.GetResponse().GetResponseStream(), System.Text.Encoding.UTF8);

各位大神,请指教啊,实在看不明白了

怎么实现通过POST一个特定结构体,实现在微信客户端创建 微信 微信自定义菜单? 微信公众平台开发 .Net?POST传输JSON数据
[解决办法]
我写过,给你代码
我是使用的一般处理文件
在ProcessRequest中先判断


public void ProcessRequest(HttpContext context)
{
//根据接口获取积分
string postStr = "";
if (context.Application["token"] == null)
{
context.Application["token"] = WenXin.GetAccessToken();
ShowMenu();
}



GetAccessToken代码

/// <summary>
/// 获取自定义菜单token
/// </summary>
/// <returns></returns>
public static string GetAccessToken()
{
WebClient webClient = new WebClient();
Byte[] bytes = webClient.DownloadData(string.Format("{0}&appid={1}&secret={2}", AppUrl, AppID, AppSecret));
string result = Encoding.GetEncoding("utf-8").GetString(bytes);
JObject jObj = JObject.Parse(result);
JToken token = jObj["access_token"];
return token.ToString().Substring(1, token.ToString().Length - 2);
}

ShowMenu代码


/// <summary>
/// 显示自定义菜单
/// </summary>
private void ShowMenu()
{
JavaScriptSerializer js = new JavaScriptSerializer();
Team team = new Team();//自定义菜单的类

string json = js.Serialize(team);
var client = new WebClient();
client.Headers["Content-Type"] = "application/json";
client.Encoding = Encoding.UTF8;
var strResult = client.UploadString(string.Format("https://api.weixin.qq.com/cgi-bin/menu/create?access_token={0}", HttpContext.Current.Application["token"]), json);
HttpContext.Current.Response.Write(strResult);


}

读书人网 >asp.net

热点推荐