//执行推送 public static void pushMessage(string userList, string msgTitle, string redicUrl, string msgDesc, string picUrl) { try { //news类型json格式 String jsonContext = "{" + "\"touser\":\"" + userList + "\"," + "\"msgtype\":\"news\"," + "\"agentid\":3," + "\"news\":" + "{" + "\"articles\":[" + "{" + "\"title\": \"" + msgTitle + "\"," + "\"description\": \"" + msgDesc + "\"," + "\"url\": \"" + redicUrl + "\"," + "\"picurl\": \"" + picUrl + "\"" + "}" + "]" + "}" + "}"; //获取accessToken string access_token = VerifyLegal.GetAccess_Token(); string url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={0}", access_token); PostWebRequest(url, jsonContext, Encoding.UTF8); } catch (Exception ex) { Alert.ShowInTop(string.Format("pushErr:{0}", ex.Message)); } }
//通过企业号员工Id获取人员手机信息 public static string GetUserInfo(string userid) { try { string access_token = VerifyLegal.GetAccess_Token(); var client = new System.Net.WebClient(); client.Encoding = System.Text.Encoding.UTF8; var url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token={0}&userid={1}", access_token, userid); var data = client.DownloadString(url); var serializer = new JavaScriptSerializer(); var obj = serializer.Deserialize <Dictionary <string, object> >(data); string phoneNum = obj["mobile"].ToString(); return(phoneNum); } catch (Exception ex) { Alert.ShowInTop(string.Format("获取微信手机号信息错误:{0}", ex.Message)); return(null); } }
//获取微信企业号人员通讯id public static string GetUserId(string code, string pageName) { try { string sCorpid = System.Configuration.ConfigurationManager.AppSettings["Corpid"]; //string sSecret = "CZo3q6rQB2b6zqtJGPREqI4COXUX0JtbPSjIo6MvdXTLhmZP8o_5BFMUUu_B_7KW"; string userid = ""; string access_token = VerifyLegal.GetAccess_Token(); string enCodeUrl = System.Web.HttpUtility.UrlEncode(System.Configuration.ConfigurationManager.AppSettings["CorpWxUrl"]) + pageName; if (string.IsNullOrEmpty(code)) { var url = string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect", sCorpid, enCodeUrl); HttpContext.Current.Response.Redirect(url); } else { var client = new System.Net.WebClient(); client.Encoding = System.Text.Encoding.UTF8; var urlStr = string.Format("https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token={0}&code={1}", access_token, code); var data = client.DownloadString(urlStr); var serializer = new JavaScriptSerializer(); var obj = serializer.Deserialize <Dictionary <string, string> >(data); if (!obj.TryGetValue("UserId", out userid)) { obj.TryGetValue("OpenId", out userid); } } return(userid); } catch (Exception ex) { Alert.ShowInTop(string.Format("获取userID出错:{0}", ex.ToString())); return(null); } }
//获取成员列表 public static DataTable getUserList() { try { DataTable dt = new DataTable(); string accessToken = VerifyLegal.GetAccess_Token(); //department_id=10:协同办公平台所创建的企业号所有人员列表;status=1:状态为已关注的人员;fetch_child=1:递归获取所有子集部门人员 string wxUrl = string.Format("https://qyapi.weixin.qq.com/cgi-bin/user/list?access_token={0}&department_id=1&fetch_child=1&status=1", accessToken); var client = new System.Net.WebClient(); client.Encoding = System.Text.Encoding.UTF8; var data = client.DownloadString(wxUrl); //DataTable userList = JsonToDataTable(data); //解析json JavaScriptSerializer js = new JavaScriptSerializer(); Rootobject returnObj = js.Deserialize <Rootobject>(data); int errcode = returnObj.errcode; if (errcode == 0) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); js.Serialize(returnObj.userlist, sb); List <Userlist> curUserList = new List <Userlist>(); curUserList = JSONStringToList <Userlist>(sb.ToString()); dt = ToDataTable(curUserList); return(dt); } else { Alert.Show(string.Format("errmsg:{0}", returnObj.errmsg)); return(null); } } catch (Exception ex) { Alert.ShowInTop(ex.Message); return(null); } }
///<summary> ///发送文件型消息 /// </summary> /// <param name="userList">成员ID列表</param> /// <param name="agentid">应用id</param> /// <param name="media_id">媒体文件id</param> public static void pushMessage_File(string userList, string agentid, string media_id) { try { //news类型json格式 String jsonContext = "{" + "\"touser\":\"" + userList + "\"," + "\"msgtype\":\"file\"," + "\"agentid\":" + agentid + "," + "\"file\":" + "{" + "\"media_id\": \"" + media_id + "\"" + "}" + "}"; //获取accessToken string access_token = VerifyLegal.GetAccess_Token(); string url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={0}", access_token); PostWebRequest(url, jsonContext, Encoding.UTF8); } catch (Exception ex) { Alert.ShowInTop(string.Format("pushFileMessageError:{0}", ex.Message)); } }