菜的像徐坤
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

微信公众号配置服务器

3955人阅读 2021/5/11 17:23 总访问:879886 评论:0 收藏:0 手机
分类: .net

连接服务器基本配置

URL :服务器地址

Token : 验证请求是否是从微信发出(GET请求)4个参数,前台发送到后台的echostr,与后台返回的echostr一致,则认证成功

参数描述
signature微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
timestamp时间戳
nonce随机数
echostr随机字符串


EncodingAESKey :秘钥随机生成标识


关于access_token 

公众号调用各接口时都需使用access_tokenaccess_token的有效期目前为2个小时,需定时刷新,
重复获取将导致上次获取的access_token失效(每天上限2000次,频繁获取access_token可能会被限制

正常情况下,微信会返回下述JSON数据包给公众号:

{"access_token":"ACCESS_TOKEN","expires_in":7200}
参数说明
access_token获取到的凭证
expires_in凭证有效时间,单位:秒

接口调用请求说明

https请求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

appid与secret需要替换成自己的

获取access_token 方法

DTO层

namespace DTO
{
    public class TokenAndTime
    {
        public string access_token { get; set; }
        public double expires_in { get; set; }
    }
}

方法层(借助redis缓存)

              public static string GetToken()
        {
            RedisClient client = new RedisClient();
            //从缓存中查看token
            string token = client.Get<string>("token");
            //如果缓存中存在token直接获取
            if (!string.IsNullOrEmpty(token))
            {
                return token;
            }
            //链接到微信服务器
            HttpClient httpClient = new HttpClient();
            HttpResponseMessage meg = httpClient.GetAsync("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=自己的appid&secret=自己的secret").Result;
            //获取token数据
            string tokenjson = meg.Content.ReadAsStringAsync().Result;
            //将json字符串反序列化成对象
            TokenAndTime tokenAndTime = JsonConvert.DeserializeObject<TokenAndTime>(tokenjson);
            //保存在缓存里
            client.Set<string>("token", tokenjson, TimeSpan.FromSeconds(tokenAndTime.expires_in - 100));

            return tokenAndTime.access_token;
        }
    }


评价