zoukankan      html  css  js  c++  java
  • 微信公众平台开发学习笔记2--获取access token

    access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。获取的access_token过期时间为2小时。获取access token具体说明请参考官方文档。

    我们不能因为每个业务要用到access_token的时候,都去微信服务器去请求获取新的access_token,所以我们要把获取到的access_token进行保存。

    解决问题的大体思路如下:

    我们将获取到的access_token码,和调用微信接口时的时间保存到数据库,或者记录到xml中,每次要用到access_token的时候,先判断下是否过去,如果过期则请求微信服务器获取新的access_token,并且更新掉原有的access_token。

    Code:

            #region 获取AccessToken
            /// <summary>
            /// 获取AccessToken:access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。
            /// </summary>
            /// <param name="appid">第三方用户唯一凭证</param>
            /// <param name="secret">第三方用户唯一凭证密钥,即appsecret</param>
            /// <returns></returns>
            public static string GetAccessToken(string appid, string secret)
            {
                //string AccessToken=string.Empty;
                //if(CheckAccessToken(ref AccessToken))
                //  return AccessToken;
                
                //微信提供的access_token获取的HttpGet请求地址
                string url = string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}",appid,secret);
                var httpClient = new HttpClient();
                var result = httpClient.GetAsync(url).Result;
                if (!result.IsSuccessStatusCode)//请求是否成功
                    return string.Empty;
    
                var content = result.Content.ReadAsStringAsync().Result;
                var model = Newtonsoft.Json.JsonConvert.DeserializeObject<AccessTokenModel>(content);
    
                return model.access_token;
            }
    
            /// <summary>
            /// 获取AccessToken:access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。
            /// </summary>
            /// <returns></returns>
            public static string GetAccessToken()
            {
                string appid = string.Empty;//从数据库中读取:第三方用户唯一凭证。后台加盐保存到数据库
                string secret = string.Empty;//从数据库中读取:第三方用户唯一凭证密钥,即appsecret。后台加盐保存到数据库
                return "";
            }
    
            /// <summary>
            /// 判断AccessToken是否过期 false过期 
            /// </summary>
            /// <returns></returns>
            private static bool CheckAccessToken(ref string AccessToken)
            {
                string oAccessToken = string.Empty;//读取数据库中保存的AccessToken和时间,判断是否过期,过期获取新的AccessToken
                DateTime dt;//数据库获取保存的时间
                //if()//判断是否过期
                //{
                
                //}
                return true;
            }
            #endregion    
    

    公司还没给申请到测试号和域名,代码暂时只写个大概,仅供个人学习记录。

  • 相关阅读:
    python3使用多代理访问网站
    批处理写的俄罗斯方块
    Robot Framework安装指南
    Robot Framework 快速入门_英文版
    Robot Framework 快速入门_中文版
    python3操作注册表设置/取消IE代理
    在python3下用PIL做图像处理
    python win32api 使用小技巧
    Python小技巧1
    python编码-1
  • 原文地址:https://www.cnblogs.com/zxcnn/p/4275140.html
Copyright © 2011-2022 走看看