1. 程式人生 > >【微信小程式】c# 實現獲取openid、session_key 服務端

【微信小程式】c# 實現獲取openid、session_key 服務端

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

然後就完成了。。。