国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

微信開(kāi)發(fā) 消息推送實(shí)現(xiàn)代碼

2019-11-20 08:41:22
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

最近做微信公共號(hào)的開(kāi)發(fā),有個(gè)需求是這樣的消息推送,以文本的形式把編輯的消息發(fā)送給微信企業(yè)號(hào)中的某一個(gè)應(yīng)用組,這里做下筆記,以下是整理內(nèi)容:

//定義數(shù)據(jù)模型 public class Access_token{public Access_token(){//// TODO: 在此處添加構(gòu)造函數(shù)邏輯//}string _access_token;string _expires_in; ///  /// 獲取到的憑證/// public string access_token{get { return _access_token; }set { _access_token = value; }}  ///  /// 憑證有效時(shí)間,單位:秒/// public string expires_in{get { return _expires_in; }  set { _expires_in = value; }} }
 public ActionResult index(string returnUrl){ GetAccess_token(); IsExistAccess_Token(); return View();}   public static Access_token GetAccess_token(){string AppUrl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?";string AppID = "應(yīng)用組的CorpID";//在設(shè)置-》權(quán)限管理-》系統(tǒng)管理組string AppSecret = "應(yīng)用組的Secret";//在設(shè)置-》權(quán)限管理-》系統(tǒng)管理組WebClient webClient = new WebClient();Byte[] bytes = webClient.DownloadData(string.Format("{0}corpid={1}&corpsecret={2}", AppUrl, AppID, AppSecret));string result = Encoding.GetEncoding("utf-8").GetString(bytes);JObject jObj = JObject.Parse(result); string token = jObj["access_token"].ToString();string expires_in = jObj["expires_in"].ToString(); Access_token mode = new Access_token();mode.access_token = token;mode.expires_in = expires_in;return mode;} /// 

根據(jù)當(dāng)前日期 判斷Access_Token 是否超期 如果超期返回新的Access_Token 否則返回之前的Access_Token

public static string IsExistAccess_Token(){string Token = string.Empty;DateTime YouXRQ;string strPath = "../../weixin/XMLFile.xml";// 讀取XML文件中的數(shù)據(jù),并顯示出來(lái)//string filepath = System.Web.Hosting.HostingEnvironment.MapPath(strPath);string filepath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, strPath); StreamReader str = new StreamReader(filepath, System.Text.Encoding.UTF8);XmlDocument xml = new XmlDocument();xml.Load(str);str.Close();str.Dispose();Token = xml.SelectSingleNode("xml").SelectSingleNode("Access_Token").InnerText;YouXRQ = Convert.ToDateTime(xml.SelectSingleNode("xml").SelectSingleNode("Access_YouXRQ").InnerText);  if (DateTime.Now > YouXRQ){DateTime _youxrq = DateTime.Now;Access_token mode = GetAccess_token();xml.SelectSingleNode("xml").SelectSingleNode("Access_Token").InnerText = mode.access_token;_youxrq = _youxrq.AddSeconds(int.Parse(mode.expires_in));xml.SelectSingleNode("xml").SelectSingleNode("Access_YouXRQ").InnerText = _youxrq.ToString();xml.Save(filepath);Token = mode.access_token;} object text = new{toparty = "1",agentid = "2",msgtype = "text",text = new{content = "項(xiàng)目名稱:"+來(lái)保網(wǎng)+""}}; string wcr= btnSend(Token, text);return wcr; }public static string btnSend(string Token, object text){ string url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + Token;WebRequest req = WebRequest.Create(url);JavaScriptSerializer aa = new JavaScriptSerializer();string postData = aa.Serialize(text);byte[] requestBytes = Encoding.UTF8.GetBytes(postData);req.Method = "POST";req.ContentType = "application/x-www-form-urlencoded";req.ContentLength = requestBytes.Length; Stream requestStream = req.GetRequestStream();requestStream.Write(requestBytes, 0, requestBytes.Length);requestStream.Close();HttpWebResponse res = (HttpWebResponse)req.GetResponse();StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.Default);string backstr = sr.ReadToEnd();sr.Close();res.Close();WeChatReturn WCR = aa.Deserialize(backstr);return WCR.errmsg; }

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 汉中市| 胶南市| 锡林郭勒盟| 清涧县| 遵义县| 饶河县| 苍溪县| 阿拉善左旗| 缙云县| 镇远县| 黄石市| 德州市| 永仁县| 阿克| 苏尼特左旗| 三亚市| 铜梁县| 大关县| 平果县| 海南省| 新余市| 安西县| 罗田县| 富裕县| 洪洞县| 安丘市| 盖州市| 南召县| 宜兰市| 甘南县| 汉源县| 彩票| 上栗县| 光泽县| 新田县| 乡城县| 高淳县| 普洱| 南城县| 甘肃省| 胶州市|