public static string get_pre_auth_code() { //刷新获取预授权码pre_auth_code TokenResult trp = refresh_pre_auth_code(get_component_access_token()); return(trp.pre_auth_code); }
private static string get_component_access_token() { WeserviceEntities entity = new WeserviceEntities(); var list = entity.dt_wx_token.Where(s => s.info_type == "component_verify_ticket").ToList(); if (list.Count == 0) { return(""); } var ticket_item = list[0]; //刷新获取第三方平台component_access_token list = entity.dt_wx_token.Where(s => s.info_type == "component_access_token").ToList(); string component_access_token = ""; if (list.Count > 0) { var token = list[0]; double ts = DateTime.Now.Subtract((DateTime)token.last_time).TotalSeconds; if (ts > (token.expires_in - 600) || token.token == null)//已过期 { //刷新token TokenResult tr = refresh_component_access_token(ticket_item.token); if (tr != null) { token.last_time = DateTime.Now; token.token = tr.component_access_token; token.expires_in = tr.expires_in; token.appid = ticket_item.appid; } } component_access_token = token.token; } else { TokenResult tr = refresh_component_access_token(ticket_item.token); if (tr != null) { var new_token = new dt_wx_token { info_type = "component_access_token", last_time = DateTime.Now, token = tr.component_access_token, expires_in = tr.expires_in, appid = ticket_item.appid }; component_access_token = new_token.token; entity.dt_wx_token.Add(new_token); } } int count = entity.SaveChanges(); LogHelper.WriteInfo("update_ticket => count2 : " + count); return(component_access_token); }
private static TokenResult refresh_pre_auth_code(string component_access_token) { try { string url = "https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token=" + component_access_token; string json = "{\"component_appid\":\"wx24f0419c030f897a\"}"; TokenResult tr = Post.PostGetJson <TokenResult>(url, null, new MemoryStream(System.Text.Encoding.Default.GetBytes(json))); return(tr); } catch (Exception e) { LogHelper.WriteException(e); } return(null); }
private static TokenResult refresh_component_access_token(string ticket) { try { string url = "https://api.weixin.qq.com/cgi-bin/component/api_component_token"; string json = "{\"component_appid\":\"wx24f0419c030f897a\",\"component_appsecret\":" + "\"6fba5eb2c4f3f118478608e7d854bace\",\"component_verify_ticket\":" + "\"" + ticket + "\"}"; TokenResult tr = Post.PostGetJson <TokenResult>(url, null, new MemoryStream(System.Text.Encoding.Default.GetBytes(json))); return(tr); } catch (Exception e) { LogHelper.WriteException(e); } return(null); }