用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

微客吧 首页 教程 微信小程序 新手教程 查看内容

微信小程序 带参数二维码 C# asp.net 服务端程序

纸飞机 2018-3-8 09:31

作者:采购员乙,来自原文地址 第一步 获取access_token:文档如下:http请求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET 代码如下:string res ...

作者:采购员乙,来自

原文地址


第一步 获取access_token:

文档如下:

http请求方式: GET
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
代码如下:

  1. string result = HttpGet("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx***********d&secret=a*******************4");
  2. public static string HttpGet(string Url)
  3. {
  4. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
  5. request.Method = "GET";
  6. request.ContentType = "text/html;charset=UTF-8";
  7. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  8. Stream myResponseStream = response.GetResponseStream();
  9. StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
  10. string retString = myStreamReader.ReadToEnd();
  11. myStreamReader.Close();
  12. myResponseStream.Close();
  13. return retString;
  14. }

其中****改成自己的。具体到微信公众平台里设置开发设置里找。

第二步 获取推广二维码

文档:

https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN


POST 参数说明

参数 默认值 说明
path 不能为空,最大长度 128 字节
width 430 二维码的宽度 代码:

  1. public static void PostMoths(string access_token)
  2. {
  3. string _url = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=" + access_token;
  4. string strURL = _url;
  5. System.NET.HttpWebRequest request;
  6. request = (System.Net.HttpWebRequest)WebRequest.Create(strURL);
  7. request.Method = "POST";
  8. request.ContentType = "application/json;charset=UTF-8";
  9. JsonData _data = new JsonData();
  10. _data["path"] = "pages/index?query=1";
  11. _data["width"] = "430";
  12. string _jso = _data.ToJson();
  13. //string paraUrlCoded = param;
  14. byte[] payload;
  15. //payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);
  16. payload = System.Text.Encoding.UTF8.GetBytes(_jso);
  17. request.ContentLength = payload.Length;
  18. Stream writer = request.GetRequestStream();
  19. writer.Write(payload, 0, payload.Length);
  20. writer.Close();
  21. System.Net.HttpWebResponse response;
  22. response = (System.Net.HttpWebResponse)request.GetResponse();
  23. System.IO.Stream s;
  24. s = response.GetResponseStream();
  25. string StrDate = "";
  26. string strValue = "";
  27. byte[] tt = StreamToBytes(s);
  28. //将流保存在c盘test.png文件下
  29. System.IO.File.WriteAllBytes(@"d:\test.png", tt);
  30. }
  31. ///将数据流转为byte[]
  32. public static byte[] StreamToBytes(Stream stream)
  33. {
  34. List bytes = new List();
  35. int temp = stream.ReadByte();
  36. while (temp != -1)
  37. {
  38. bytes.Add((byte)temp);
  39. temp = stream.ReadByte();
  40. }
  41. return bytes.ToArray();
  42. }

最后保存在d盘的图片就是推广二维码,可以讲服务器连接地址发给微信小程序,供微信小程序调用。

鲜花
鲜花
握手
握手
雷人
雷人
路过
路过
鸡蛋
鸡蛋
分享至 : QQ空间
收藏