专栏首页田超学前端【微信小程序】c# 实现获取openid、session_key 服务端
原创

【微信小程序】c# 实现获取openid、session_key 服务端

c#写一个获取微信小程序 openid 的方法。。

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

然后就完成了。。。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 微信小程序 购物车代码

    在判断加减数量的时候,minusStatus 这个属性是被我写在了产品的外面,所以,没做减到1的的时候,减号改变颜色,需要的可以把minusStatus 这个属...

    田超
  • 微信小程序 canvas 循环画分行内容

    for (var a = 0; a < content.length; a++) {

    田超
  • 微信小程序 几个小技巧

    田超
  • Effective Java要点笔记

    工作中如果构造函数有多个 且 特定 的话,我一般倾向写两三个函数签名不一样构造器。但是如果在构造参数很多且多变,要写一个内部构建器,用builder模式,而不是...

    程序员小强
  • 细胞通讯-iTALK使用方法

    多细胞生物由不同类型的细胞组成,单个细胞之间的行为协调需要建立通讯网络。例如生物体的生长发育、分化、各种组织器官的形成、维持以及各种生理活动的协调,都需要高效和...

    生信技能树jimmy
  • 2019-04-01 HttpStatus http返回的状态码都代表什么含义

    Albert陈凯
  • ceph 运维操作-MDS

    MDS全称Ceph Metadata Server,是CephFS服务依赖的元数据服务。

    Lucien168
  • AutoFac+ASP.NetMvc,AspNet.Core

    莫问今朝
  • 284. Peeking Iterator

    Given an Iterator class interface with methods: next() and hasNext(), design and...

    Dylan Liu
  • 重学 Java 设计模式:实战享元模式「基于Redis秒杀,提供活动与库存信息查询场景」

    很多时候一大部分编程开发的人员都只是关注于功能的实现,只要自己把这部分需求写完就可以了,有点像被动的交作业。这样的问题一方面是由于很多新人还不了解程序员的职业发...

    小傅哥

扫码关注云+社区

领取腾讯云代金券