<微信应用开发系列>定时刷新AccessToken

微信内嵌H5站一直很火,很多公司也想借助微信的用户群和社交群来做点事情,所以对于各位代码君来说也算是一个研究方向吧。

access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。

公众号可以使用AppID和AppSecret调用本接口来获取access_token。AppID和AppSecret可在微信公众平台官网-开发者中心页中获得(需要已经成为开发者,且帐号没有异常状态)。注意调用所有微信接口时均需使用https协议。

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

参数说明:

参数是否必须说明
grant_type获取access_token填写client_credential
appid第三方用户唯一凭证
secret第三方用户唯一凭证密钥,即appsecret

返回说明:{"access_token":"ACCESS_TOKEN","expires_in":7200}

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

最近做了个demo,功能就是定时取请求微信服务器获取accesstoken保存到mongodb数据库中,在有业务需求需要用到accesstoken时就直接取mongodb中的最新一条accesstoken记录。

Code->业务操作方法:

        /// <summary>
        /// 获取AccessToken
        /// </summary>
        /// <returns></returns>
        public static MWeChatToken GetToken()
        {
            var token = new MWeChatToken();
            var url = string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}", AppId, AppSecret);
            var msg = HttpReq(url, "POST", Encoding.UTF8, 1000);

            try
            {
                var toJson = new JavaScriptSerializer();
                token = toJson.Deserialize<MWeChatToken>(msg);
            }
            catch (Exception ex)
            {
                Log.Error(ex);
            }
            return token;
        }

 Code->保存到数据库:

        public static void SetToken()
        {
            const string dbString = "Wechat";
            const string colString = "WeChatToken";
            var model = GetToken();
            if (model == null) return;
            var mongoClient = new MongoClient(Conn);

            var mdb = mongoClient.GetServer().GetDatabase(dbString);
            var mCollection = mdb.GetCollection(colString);

            mCollection.Insert(model);
            mongoClient.GetServer().Disconnect();
        }

 

转载于:https://www.cnblogs.com/benpao/p/4559657.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值