今天我们学习微信公众号的开发啦
针对于微信公众号的开发。步骤还是有些繁琐,我们需要一步一步来。
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地址,看看能不能运行哦。
好啦,本次分享就到这里啦,提问请留言。