tnblog
首页
视频
资源
登录

获取微信token,使用缓存处理token过期

7168人阅读 2019/12/12 16:36 总访问:322987 评论:0 收藏:0 手机
分类: 微信公众号

今天我们学习微信公众号的开发啦


 针对于微信公众号的开发。步骤还是有些繁琐,我们需要一步一步来。

 1,在百度搜索微信公众平台,注册一个自己的微信公众号。

 2,购买属于自己的服务器。完成基础配置。

 今天讲解的内容是怎样 获取access_token ,并处理token过期

 根据微信公众号开发文档说明。我们需要get请求获取 access_token

第一,新建一个类库,封装获取token的方法,思路如下:

get请求获取token,需要自己的appid和appsecret,如图:

  具体方法代码·如下:

public static string GetToken()
        {
            RedisClient redisClient = new RedisClient();
            //先从缓存中获取
            string token = redisClient.Get<string>("token");
            if (token != null)
            {
                return token;
            }
            //缓存中没有就从外网获取
            HttpClient httpClient = new HttpClient();
            //string result=  httpClient.GetAsync("
              https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&
        appid=xxxxxxx&secret=yyyyyyyyyy").Result.Content.ReadAsStringAsync().Result;
            //下面要处理时间过期事件
            // 1,在该类库需要使用依赖注入 json    Install-Package Newtonsoft.Json -Version 12.0.1
            AccessTokenDTO accessTokenDTO = JsonConvert.DeserializeObject<AccessTokenDTO>(result);
            //2,把token写入缓存里
            //在该类库先依赖注入数据  install-package ServiceStack.Redis
            //手动启动redis服务
            //为了token 2小时过期,所以我们缓存的时间要和微信token时间大致相同,可设置差几百秒(160)
            redisClient.Set<string>("token", accessTokenDTO.access_token,TimeSpan.FromSeconds(accessTokenDTO.expires_in-160));
            return accessTokenDTO.access_token;
        }

  第二:在控制器的话就只需要调用方法,就可获得数据,如图:

 


注意事项: 我们需要把自己写的项目发布到自己的服务器上,然后配置好启动。

 开启服务器步骤:可用快捷键windows+r ,输入命令:mstsc 打开窗口--》填自己注册服务器的ip地址--》用户登录

这里的用户名都是:administrator,密码为自己服务器的实例密码(新用户可到服务器控制台的实例列表重置实例密码)

 

1,进到自己的服务器空间后,就像原来发布自己项目一样把已经发布的项目复制粘贴到服务器,然后发布,注意配置的时候用80端口。

2,我们还需要在服务器里更改项目的配置具体步骤如下:

     项目右键--》编辑权限--》选择安全--》编辑--》添加--》高级--》立即查找--》找到evenone的权限,添加即可。下图参考:

 


3,还有一种情况就是配置好了权限浏览还不行,可能报403的错误。那么问题应该是我们项目得到支撑的权限不够,需要在控制面板添加,如图:


    

 

  添加一些web ef项目必要的权限


 最后一步就是在百度里进入自己服务器控制台,然后进入本实例安全组--》配置规则--》添加安全组规则,配置,如图;



然后重启刷新一下项目就行了。自己可以外网访问自己的ip地址,看看能不能运行哦。


好啦,本次分享就到这里啦,提问请留言。



评价
你之所以觉得时间一年比一年过得快,是因为时间对你一年比一年重要。
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
欢迎加群交流技术