怎么实现通过POST一个特定结构体,实现在微信客户端创建自定义菜单

fly5520 2013-08-06 04:53:40
.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一个特定结构体,实现在微信客户端创建
...全文
2826 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
u013889883 2014-03-18
  • 打赏
  • 举报
回复
引用 5 楼 qust_sunfei 的回复:
一定要用Application变量来存,它是全局的。 这是我写的,如果有更好的,请告诉我一声
可以用 ViewState吗?
aiqingliwotaiyuan 2013-08-21
  • 打赏
  • 举报
回复
不懂得话 加我QQ吧 623278734
pcrogramer 2013-08-19
  • 打赏
  • 举报
回复
楼上的你的代码我下了,为什么我的菜单还是没有呢
aiqingliwotaiyuan 2013-08-17
  • 打赏
  • 举报
回复
我已经 解决了 绝对 可用 我自己亲自测试过了 C#版本的 http://download.csdn.net/detail/aiqingliwotaiyuan/5957383
陈大明 2013-08-15
  • 打赏
  • 举报
回复
我也是卡在这里,不知道结构体如何拼接。 有人能展示一下post的数据结构和该数据的名字吗?
aiqingliwotaiyuan 2013-08-15
  • 打赏
  • 举报
回复
解决了吗 我还卡在这呢
li361111523 2013-08-08
  • 打赏
  • 举报
回复
PHP版代码 http://liyandong.duapp.com/?m=study
孫大聖 2013-08-07
  • 打赏
  • 举报
回复
引用 6 楼 flyzq0525 的回复:
#4楼大神,微信中怎么去调用执行这一步呢! JObject jObj = JObject.Parse(result); JToken token = jObj["access_token"]; 这是自定义类吗,能再详细点吗!
恩 你下载这个Newtonsoft.Json.dll 并引用试试
fly5520 2013-08-07
  • 打赏
  • 举报
回复
#4楼大神,微信中怎么去调用执行这一步呢! JObject jObj = JObject.Parse(result); JToken token = jObj["access_token"]; 这是自定义类吗,能再详细点吗!
孫大聖 2013-08-07
  • 打赏
  • 举报
回复
一定要用Application变量来存,它是全局的。 这是我写的,如果有更好的,请告诉我一声
孫大聖 2013-08-07
  • 打赏
  • 举报
回复
我写过,给你代码 我是使用的一般处理文件 在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);
        }
myhope88 2013-08-07
  • 打赏
  • 举报
回复
没弄过,帮顶下
fly5520 2013-08-07
  • 打赏
  • 举报
回复
不会又沉了吧!
nick1365 2013-08-06
  • 打赏
  • 举报
回复
同求PHP版本的。。。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧