• .NET 微信开发 获取access_token


      好记性不如烂笔头

      调用微信的每个接口,都需要传access_token进行身份验证。  微信文档链接。

      也是一个简单的get请求接口,可以用postman先测试一下。(这里测试需要在服务器进行。微信有接口IP验证,请求的IP与公众号配置的IP地址一致)

      返回字符格式:{"access_token":"30_XjvzoAz2Ow8B-pn7IrPrNe5rXfW-Np2nwkmd-xMXnmWNzDm5w3-9LfAQG9E3fVS6VnGc1f8L66zEPepN1E1aAVhJpF0tVDMonS6FeiG0SQew97lxG0HA9Vxo7XUlk6VLDvNWc1s8e_SIUtxfXZSgAIADFY","expires_in":7200}

      代码如下:

           /// <summary>
            /// 获取微信公众号AccessToken
            /// </summary>
            /// <returns></returns>
            public AccessToken GetAccessToken()
            {
                var accesstoken = new AccessToken();
                try
                {
                    string str1 =Utils.HttpGet($"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={(object) appid}&secret={(object) AppSecret}");               
    
                    if (str1.Contains("access_token"))
                    {
                        JObject Jobj = (JObject) JsonConvert.DeserializeObject(str1);
                        string str2 = Jobj.Value<string>("access_token");
                        int num = Jobj.Value<int>("expires_in") / 2;
                       
                        accesstoken.Token = str2;
                        accesstoken.ExpiresTime= DateTime.Now.AddSeconds((double)num);
                        return accesstoken;
                    }
    
                }
                catch (Exception e)
                {
                    Utils.WriteTxt("生成AccessToken出错1:" + e.Message, "/debugLog.txt");
                }
    
                return accesstoken;
            }
    
    

    Utils.HttpGet中get请求方法:

            public static string HttpGet(string url)
            {
                HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
                httpWebRequest.Method = "GET";
                httpWebRequest.Accept = "*/*";
                string str = "";
                using (HttpWebResponse response = (HttpWebResponse)httpWebRequest.GetResponse())
                {
                    using (StreamReader streamReader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8))
                        str = streamReader.ReadToEnd();
                }
                return str;
            }

    好啦。

    得到了access_token,也能进行了微信对接的第一步。

    千里之行始于足下。

  • 相关阅读:
    docker容器内使用systemctl报错
    docker构建镜像的两种方式
    PXE无人值守安装系统
    8.iptables自定义链
    7.iptables的黑白名单
    6.iptables的匹配条件(三)
    5.iptables的匹配条件(二)
    第三章 8086指令结构
    一套试卷
    第二章 微机指令
  • 原文地址:https://www.cnblogs.com/cr-cool/p/12597287.html
Copyright © 2020-2023  润新知