最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.NET6使用微信小程序授權(quán)登錄獲取手機(jī)號(hào)

 更新時(shí)間:2023年08月16日 11:46:56   作者:黒貓警長(zhǎng)  
小程序手機(jī)號(hào)授權(quán)是在里打開小程序時(shí)彈窗請(qǐng)求允許使用某些功能,比如授權(quán)獲取用戶信息、授權(quán)獲取手機(jī)號(hào)等,本文主要介紹了.NET6使用微信小程序授權(quán)登錄獲取手機(jī)號(hào),感興趣的可以了解一下

1.在appsettings配置你的小程序配置信息

  //微信小程序信息配置
  "WechatConfig": {
    "appid": "", //小程序ID
    "secret": "" //小程序秘鑰
  },

2.請(qǐng)求接口時(shí)先獲取Access_token

        #region 獲取小程序的Access_token
        public object GetAccess_token(string appid, string secret)
        {
            string strUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret;
            HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(strUrl);
            req.Method = "GET";
            req.ContentType = "textml;charset=UTF-8";
            HttpWebResponse response = (HttpWebResponse)req.GetResponse();
            Stream myResponseStream = response.GetResponseStream();
            StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
            string jsonData = myStreamReader.ReadToEnd();
            myStreamReader.Close();
            myResponseStream.Close();
            string jsonSr = jsonData;
            JObject jsons = JObject.Parse(jsonSr);
            string accesstoken = jsons["access_token"].ToString();
            return accesstoken;
        }
        #endregion

3.授權(quán)時(shí)獲取手機(jī)號(hào)

        #region 獲取微信綁定手機(jī)號(hào)
        public  object GetPhoneNumber(string code, string appid, string secret)
        {
            string errCode = "";
            try
            {
                var accesstoken = GetAccess_token(appid, secret);
                string serviceAddress = "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=" + accesstoken;
                JObject codes = new JObject();
                codes["code"] = code;
                string sendData = JsonConvert.SerializeObject(codes);
                //換成Post請(qǐng)求方式
                string jsonString = UrlPost(sendData, serviceAddress);
                dynamic model = JToken.Parse(jsonString) as dynamic;
                JObject json = JObject.Parse(jsonString);
                errCode = json["errcode"].ToString();
                string purePhoneNumber = json["phone_info"]["phoneNumber"].ToString();
                //簽發(fā)token
                //string token;
                //_authenservice.IsAuthenticated(code, out token);
                return new { Code = 200, Msg = "獲取成功", Tel = purePhoneNumber, Token = token };
            }
            catch (Exception e)
            {
                return new { Code = 0, Msg = "獲取失敗" + e.Message };
            }
        }
        #endregion

4.微信接口要求必須使用Post請(qǐng)求方法

 #region 提交Post請(qǐng)求
        /// <summary>
        /// 提交Post請(qǐng)求
        /// </summary>
        /// <param name="parameterData">參數(shù)集合</param>
        /// <param name="serviceUrl">URL</param>
        /// <param name="ContentType"></param>
        /// <param name="Accept"></param>
        /// <returns></returns>
        public static string UrlPost(string parameterData, string serviceUrl, string ContentType = "application/json", string Accept = "application/json")
        {
            //先根據(jù)用戶請(qǐng)求的uri構(gòu)造請(qǐng)求地址
            //string serviceUrl = string.Format("{0}/{1}", this.BaseUri, uri);
            //創(chuàng)建Web訪問對(duì)象
            HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(serviceUrl);
            //把用戶傳過來的數(shù)據(jù)轉(zhuǎn)成“UTF-8”的字節(jié)流
            byte[] buf = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(parameterData);
            myRequest.Method = "POST";
            //myRequest.Accept = "application/json";
            //myRequest.ContentType = "application/json";  // //Content-Type: application/x-www-form-urlencoded 
            myRequest.AutomaticDecompression = DecompressionMethods.GZip;
            myRequest.Accept = Accept;
            //myRequest.ContentType = ContentType;
            myRequest.ContentType = "application/json; charset=UTF-8";
            myRequest.ContentLength = buf.Length;
            myRequest.MaximumAutomaticRedirections = 1;
            myRequest.AllowAutoRedirect = true;
            //myRequest.Headers.Add("content-type", "application/json");
            //myRequest.Headers.Add("accept-encoding", "gzip");
            //myRequest.Headers.Add("accept-charset", "utf-8");
            //發(fā)送請(qǐng)求
            Stream stream = myRequest.GetRequestStream();
            stream.Write(buf, 0, buf.Length);
            stream.Close();
            //通過Web訪問對(duì)象獲取響應(yīng)內(nèi)容
            HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
            //通過響應(yīng)內(nèi)容流創(chuàng)建StreamReader對(duì)象,因?yàn)镾treamReader更高級(jí)更快
            StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
            //string returnXml = HttpUtility.UrlDecode(reader.ReadToEnd());//如果有編碼問題就用這個(gè)方法
            string returnData = reader.ReadToEnd();//利用StreamReader就可以從響應(yīng)內(nèi)容從頭讀到尾
            reader.Close();
            myResponse.Close();
            return returnData;
        }
        #endregion

小程序官方文檔

https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/user-info/phone-number/getPhoneNumber.html

到此這篇關(guān)于.NET6使用微信小程序授權(quán)登錄獲取手機(jī)號(hào)的文章就介紹到這了,更多相關(guān).NET6小程序授權(quán)獲取手機(jī)號(hào)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

佛山市| 当阳市| 广灵县| 巩义市| 图片| 瓮安县| 黑水县| 铁岭市| 务川| 浠水县| 安陆市| 巨野县| 开封县| 长治市| 吴川市| 甘孜| 长汀县| 商南县| 浮山县| 扶风县| 沁源县| 开平市| 巩留县| 和林格尔县| 内黄县| 北安市| 沂南县| 喀喇沁旗| 丹棱县| 环江| 神池县| 竹山县| 论坛| 沙田区| 高密市| 唐河县| 花莲市| 鸡泽县| 绍兴市| 虎林市| 七台河市|