广告:
微信的sdk文档要求接入方缓存两个参数:access_token和jsapi_ticket,在一定时间内这两个参数的值是不会过期的,不需要每次请求微信服务器获取。
参考以下文档获取access_token(有效期7200秒,开发者必须在自己的服务全局缓存access_token)
用第一步拿到的access_token采用http GET方式请求获得jsapi_ticket(有效期7200秒,开发者必须在自己的服务全局缓存jsapi_ticket):https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi
<?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings> <add key="appId" value="" /> <add key="appSecret" value="" /> <add key="payApi" value="http://pay.53bk.com/" /> <add key="cacheApi" value="http://www.53bk.com/Api/WeixinCache" /> <add key="enableIP" value="127.0.0.1;127.0.0.1" /> </appSettings> </configuration>
<!--http://www.53bk.com/Api/WeixinCache 微信accesstoken、ticket跨域服务器全局缓存(公共缓存)接口-->
全局缓存接口如:http://www.53bk.com/Api/WeixinCache
文章后台代码:
#region WeixinCache() 服务器公共缓存接口 ---仅服务器端用 // /Api/WeixinCache?cachekey=accesstoken&hl=utf-8 /Api/WeixinCache?cachekey=ticket&hl=utf-8 public ActionResult WeixinCache() { Response.Cache.SetOmitVaryStar(true); // Request.ContentEncoding = Encoding.GetEncoding("utf-8"); string cachekey = ""; if (Request.QueryString["cachekey"] != null) cachekey = Request.QueryString["cachekey"].ToString(); if (Request.Form["cachekey"] != null) cachekey = Request.Form["cachekey"].ToString(); string charset = "utf-8"; if (Request.QueryString["hl"] != null) charset = Request.QueryString["hl"].ToString(); if (Request.Form["hl"] != null) charset = Request.Form["hl"].ToString(); if (charset == "utf-8") { Request.ContentEncoding = Encoding.GetEncoding("utf-8"); Response.ContentEncoding = Encoding.GetEncoding("utf-8"); } if (charset == "gb2312") { Request.ContentEncoding = Encoding.GetEncoding("gb2312"); Response.ContentEncoding = Encoding.GetEncoding("gb2312"); } if (charset == "gbk") { Request.ContentEncoding = Encoding.GetEncoding("gbk"); Response.ContentEncoding = Encoding.GetEncoding("gbk"); } string json1 = ""; Weixinbll wxbll = new Weixinbll(); if (cachekey=="accesstoken") { json1 = wxbll.getAccessTokenJsonstring(); } if (cachekey == "ticket") { json1 = wxbll.getJsApiTicketJsonstring(); } Response.Write(json1); return new EmptyResult(); } #endregion
最后程序后台形成接口post代码:
http://www.53bk.com/Api/WeixinCache?cachekey=accesstoken&hl=utf-8
广告: