【微信小程式】c# 實現獲取openid、session_key 服務端
阿新 • • 發佈:2018-11-29
c#寫一個獲取微信小程式 openid和session_key 的方法。。
1,微信小程式端
// 登入 wx.login({ success: res => { // 傳送 res.code 到後臺換取 openId, sessionKey, unionId console.log(res.code); wx.request({ url: 'http://localhost:10000/getcode/getcode/', data:{ 'json_code': res.code }, method: 'GET', header: { 'content-type': 'application/x-www-form-urlencoded', }, success:function(res){ console.log(res.data.data) } }) } })
2,c#後臺
#region 獲取小程式openid 和session_key [HttpGet] public void GetCode(string json_code) { string serviceAddress = "https://api.weixin.qq.com/sns/jscode2session?appid=" + "APPID" + "&secret=" + "APPSECRET" + "&js_code=" + json_code + "&grant_type=authorization_code"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceAddress); request.Method = "GET"; request.ContentType = "text/html;charset=utf-8"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, System.Text.Encoding.UTF8); string retString = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); var obj = new { data = retString, Success = true }; Formatting microsoftDataFormatSettings = default(Formatting); string result = JsonConvert.SerializeObject(obj, microsoftDataFormatSettings); Response.Write(result); } #endregion
然後就完成了。。。