public List <ReadNum> GetUserRead(int beginDay = -7, int endDay = -1) { CultureInfo provider = CultureInfo.InvariantCulture; List <ReadNum> readNumList = new List <ReadNum>(); string urlGetUserRead = $"https://api.weixin.qq.com/datacube/getuserread?access_token={_accessToken}"; for (int i = beginDay; i < endDay + 1; i++) { string date = DateTime.Now.AddDays(i).ToString("yyyy-MM-dd"); JObject posJObject = new JObject { { "begin_date", date }, { "end_date", date } }; string outJson = Requests.HttpPost(urlGetUserRead, posJObject.ToString()); JObject outJObject = JObject.Parse(outJson); JArray dataJArray = JArray.FromObject(outJObject["list"]); if (dataJArray.Count == 0) { continue; } JObject mainJObject = JObject.FromObject(dataJArray.First); ReadNum readNum = new ReadNum { ref_date = DateTime.ParseExact((string)mainJObject["ref_date"], "yyyy-MM-dd", provider), int_page_read_count = (int)mainJObject["int_page_read_count"] }; readNumList.Add(readNum); } return(readNumList); }
public void GetUserData(out List <UserSummary> userSummaries, out List <UserCumulate> userCumulates) { userSummaries = new List <UserSummary>(); userCumulates = new List <UserCumulate>(); CultureInfo provider = CultureInfo.InvariantCulture; string beginDate = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd"); string endDate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"); JObject posJObject = new JObject { { "begin_date", beginDate }, { "end_date", endDate } }; string urlGetusersummary = $"https://api.weixin.qq.com/datacube/getusersummary?access_token={_accessToken}"; string urlGetusercumulate = $"https://api.weixin.qq.com/datacube/getusercumulate?access_token={_accessToken}"; string outGetusersummary = Requests.HttpPost(urlGetusersummary, posJObject.ToString()); JObject outGetusersummaryJObject = JObject.Parse(outGetusersummary); JArray usersummaryJArray = JArray.FromObject(outGetusersummaryJObject["list"]); foreach (var usersummary in usersummaryJArray.Children()) { JObject itemJObject = JObject.FromObject(usersummary); UserSummary userSummary = new UserSummary { ref_date = DateTime.ParseExact((string)itemJObject["ref_date"], "yyyy-MM-dd", provider), user_source = (int)itemJObject["user_source"], new_user = (int)itemJObject["new_user"], cancel_user = (int)itemJObject["cancel_user"] }; userSummaries.Add(userSummary); } string outGetusercumulate = Requests.HttpPost(urlGetusercumulate, posJObject.ToString()); JObject outGetusercumulateJObject = JObject.Parse(outGetusercumulate); JArray usercumulateJArray = JArray.FromObject(outGetusercumulateJObject["list"]); foreach (var usercumulate in usercumulateJArray.Children()) { JObject itemJObject = JObject.FromObject(usercumulate); UserCumulate userCumulate = new UserCumulate { ref_date = DateTime.ParseExact((string)itemJObject["ref_date"], "yyyy-MM-dd", provider), cumulate_user = (int)itemJObject["cumulate_user"] }; userCumulates.Add(userCumulate); } }
public List <ArticleReadNum> GetArticleRead(int beginDay = -7, int endDay = -1) { CultureInfo provider = CultureInfo.InvariantCulture; List <ArticleReadNum> articleReadNums = new List <ArticleReadNum>(); string urlGetArticleTotal = $"https://api.weixin.qq.com/datacube/getarticletotal?access_token={_accessToken}"; for (int i = beginDay; i < endDay + 1; i++) { string date = DateTime.Now.AddDays(i).ToString("yyyy-MM-dd"); JObject posJObject = new JObject { { "begin_date", date }, { "end_date", date } }; string outJson = Requests.HttpPost(urlGetArticleTotal, posJObject.ToString()); JObject outJObject = JObject.Parse(outJson); JArray dataJArray = JArray.FromObject(outJObject["list"]); foreach (var article in dataJArray.Children()) { JObject articleJObject = JObject.FromObject(article); ArticleReadNum articleReadNum = new ArticleReadNum { ref_date = DateTime.ParseExact((string)articleJObject["ref_date"], "yyyy-MM-dd", provider), title = (string)articleJObject["title"], ReadTotals = new List <ArticleReadNum.DailyReadTotal>() }; JArray dailyReadArray = JArray.FromObject(articleJObject["details"]); foreach (var dailyData in dailyReadArray.Children()) { JObject dailyReadJObject = JObject.FromObject(dailyData); ArticleReadNum.DailyReadTotal dailyReadTotal = new ArticleReadNum.DailyReadTotal { stat_date = DateTime.ParseExact((string)dailyReadJObject["stat_date"], "yyyy-MM-dd", provider), int_page_read_count = (int)dailyReadJObject["int_page_read_count"], }; articleReadNum.ReadTotals.Add(dailyReadTotal); } articleReadNums.Add(articleReadNum); } } return(articleReadNums); }
public List <ApprovalData> GetApprovalData() { List <ApprovalData> list = new List <ApprovalData>(); string url = @"https://qyapi.weixin.qq.com/cgi-bin/corp/getapprovaldata?access_token=" + _approvalAccessToken; string requestJson = new JObject { { "starttime", (DateTime.Now.AddDays(-7).Date.ToUniversalTime().Ticks - 621355968000000000) / 10000000 }, { "endtime", (DateTime.Now.AddDays(-1).ToUniversalTime().Ticks - 621355968000000000) / 10000000 } }.ToString(); string returnjson = Requests.HttpPost(url, requestJson); JObject returnJObject = JObject.Parse(returnjson); if ((int)returnJObject["errcode"] != 0) { throw new Exception((string)returnJObject["errmsg"]); } JArray itemsArray = JArray.FromObject(returnJObject["data"]); foreach (var item in itemsArray.Children()) { JObject itemJObject = JObject.Parse(item.ToString()); ApprovalData data = new ApprovalData { apply_name = (string)itemJObject["apply_name"], apply_org = (string)itemJObject["apply_org"], apply_time = (int)itemJObject["apply_time"], apply_user_id = (string)itemJObject["apply_user_id"], sp_num = (ulong)itemJObject["sp_num"], sp_status = (ApprovalStatus)(int)itemJObject["sp_status"], spname = (string)itemJObject["spname"] }; list.Add(data); } return(list); }
/// <summary> /// Send Message to Work WeChat /// </summary> /// <param name="message">the message body</param> public void Send(string message) { string touser = MainFunc.IsDebug ? Environment.GetEnvironmentVariable("DebugSend") : ""; JObject json = new JObject { { "touser", touser == "" ? "@all" : touser }, { "msgtype", "text" }, { "agentid", Environment.GetEnvironmentVariable("WorkWeChatAppId") }, { "text", new JObject { { "content", message } } } }; string url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + _accessToken; string returnjson = Requests.HttpPost(url, json.ToString()); JObject rj = JObject.Parse(returnjson); if ((string)rj["errcode"] != "0") { throw new Exception($"Send Message ERR {(string) rj["errcode"]} {(string) rj["errmsg"]}"); } }
public void GetReadData(out List <ReadNum> readNums, out List <ArticleReadNum> articleReadNums) { CultureInfo provider = CultureInfo.InvariantCulture; readNums = new List <ReadNum>(); string urlgetuserread = $"https://api.weixin.qq.com/datacube/getuserread?access_token={_accessToken}"; for (int i = 1; i < 8; i++) { string date = DateTime.Now.AddDays(-i).ToString("yyyy-MM-dd"); JObject posJObject = new JObject { { "begin_date", date }, { "end_date", date } }; string outJson = Requests.HttpPost(urlgetuserread, posJObject.ToString()); JObject outJObject = JObject.Parse(outJson); JArray dataJArray = JArray.FromObject(outJObject["list"]); if (dataJArray.Count == 0) { continue; } JObject mainJObject = JObject.FromObject(dataJArray.First); ReadNum readNum = new ReadNum { ref_date = DateTime.ParseExact((string)mainJObject["ref_date"], "yyyy-MM-dd", provider), int_page_read_count = (int)mainJObject["int_page_read_count"] }; readNums.Add(readNum); } articleReadNums = new List <ArticleReadNum>(); string urlgetarticletotal = $"https://api.weixin.qq.com/datacube/getarticletotal?access_token={_accessToken}"; for (int i = 1; i < 8; i++) { string date = DateTime.Now.AddDays(-i - 7).ToString("yyyy-MM-dd"); JObject posJObject = new JObject { { "begin_date", date }, { "end_date", date } }; string outJson = Requests.HttpPost(urlgetarticletotal, posJObject.ToString()); JObject outJObject = JObject.Parse(outJson); JArray dataJArray = JArray.FromObject(outJObject["list"]); foreach (var article in dataJArray.Children()) { JObject articleJObject = JObject.FromObject(article); ArticleReadNum articleReadNum = new ArticleReadNum { ref_date = DateTime.ParseExact((string)articleJObject["ref_date"], "yyyy-MM-dd", provider), title = (string)articleJObject["title"], ReadTotals = new List <ArticleReadNum.DailyReadTotal>() }; JArray dailyreadArray = JArray.FromObject(articleJObject["details"]); foreach (var dailydata in dailyreadArray.Children()) { JObject dailyreadJObject = JObject.FromObject(dailydata); ArticleReadNum.DailyReadTotal dailyReadTotal = new ArticleReadNum.DailyReadTotal { stat_date = DateTime.ParseExact((string)dailyreadJObject["stat_date"], "yyyy-MM-dd", provider), int_page_read_count = (int)dailyreadJObject["int_page_read_count"], }; articleReadNum.ReadTotals.Add(dailyReadTotal); } articleReadNums.Add(articleReadNum); } } }