zoukankan      html  css  js  c++  java
  • C# 微信小程序获取openid sessionkey

    项目介绍

    1、微信小程序获取openid和session_key
    2、后台使用C#开发

    项目流程

    准备工作

    1 获取appid

    1.1 下载微信web开发工具

    https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

    1.2 安装完成后打开

    1.2.1 新建项目

    1.2.2 点击测试号,点击新建。项目创建成功


    测试号功能有限但是对于简单使用已经足够,应用开发可以注册一个AppID

    2 获取appsecret

    小程序端

    1 小程序端官方API访问地址

    https://developers.weixin.qq.com/miniprogram/dev/

    2 小程序端向服务器发起请求,参数是code

    // 登录
    wx.login({
    success: res => {
    console.log("getUserremark:"+res.code);
    
    wx.request({
    url: 'http://localhost:7655/WebService.asmx/GetCode?json_code='+res.code,
    data: {
    'json_code': res.code
    },
    method: 'GET',
    header: {
    'content-type': 'appication/x-www-form-urlencoded'
    },
    success: function (res) {
    console.log("back Data:"+res.data.data);
    }
    })
    // 发送 res.code 到后台换取 openId, sessionKey, unionId
    }
    })
    

    3 url说明

    访问后台服务器,将code值传递给服务,并进行调用

    后端

    这里提供的方法仅供参考,其他语言,其他方法均可用

    1 Visual Studio新建website项目

    2 右击website,添加服务

    3 在WebService.cs的public WebService()下添加如下代码

    #region 获取小程序openid 和session_key
        [WebMethod]  //网页中显示这个方法
        public void GetCode(string json_code)
        {
    
            string serviceAddress =
                "https://api.weixin.qq.com/sns/jscode2session?appid=自己的&secret=自己的"
                 + "&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 microsoftDataFormatSetting = default(Formatting);
            string result = JsonConvert.SerializeObject(obj, microsoftDataFormatSetting);
            HttpContext.Current.Response.Write(result);
        }
        #endregion

    4 程序调用需要用到库,下载地址

    链接:https://pan.baidu.com/s/1Lfldi6EouII9F_3eeD7HnA
    提取码:r8uf
    链接无效可以自己在网上找,或联系我

    5 部署服务,网页界面如下

    程序调试

    1 网页中打开服务

    2 点击GetCode,跳转到如下界面

    3 获取js_code(用户登陆凭证)

    4 复制用户登陆凭证,并填入到服务中,并调用


    如果返回结果正确说明服务器端无问题
    备注:小程序接收的数据需要时json格式的

    <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

  • 相关阅读:
    正则表达式
    jdbc,链接调用数据库的方法——例题
    python字符串操作
    python条件判断
    python运算符
    python中输入输出
    python关键字与标识符
    python变量
    python注释
    安装django报错一直安装不上?
  • 原文地址:https://www.cnblogs.com/aqyl/p/10734332.html
Copyright © 2011-2022 走看看