/// <summary> /// 获取授权 带缓存 文档是1天 这里设置23小时 /// </summary> /// <returns></returns> public string GetAuthToken() { string cacheKey = "GetTuiAuthToken"; string authToken = CacheFactory.Cache().GetCache <string>(cacheKey); if (!authToken.IsNullEmpty()) { return(authToken); } string timestamp = TimeHelper.GetTimeStamp(false).ToString(); JObject job = new JObject(); job.Add("appkey", this.appKey); job.Add("timestamp", timestamp); job.Add("sign", SecurityHelper.SHA256String(this.appKey + timestamp + this.masterSecret));//(appkey+timestamp+mastersecret) string url = string.Format("https://restapi.getui.com/v1/{0}/auth_sign", this.appId); string res = PostWebRequest(url, job.ToJson()); if (BoolHelper.IsJson(res)) { job = JObject.Parse(res);/*Jobject里的每一个字段都可以用JToken来获取*/ if (job["result"].ToString() == "ok") { res = job["auth_token"].ToString(); CacheFactory.Cache().WriteCache(cacheKey, res, DateTime.Now.AddHours(this.cacheTokenTimeHour));//缓存23小时 } } return(res); }
/// <summary> /// 判断是否发送成功 /// </summary> /// <param name="resultJson"></param> /// <returns></returns> public static bool IsSendSuccess(string resultJson) { if (!BoolHelper.IsJson(resultJson)) { return(false); } JObject jobj = resultJson.ToJObject(); return(jobj["respcode"].ToString() == "0" ? true : false); }
/// <summary> /// 解析发送结果 /// </summary> /// <param name="resultJson"></param> /// <returns></returns> public static string GetSendRespDesc(string resultJson) { if (!BoolHelper.IsJson(resultJson)) { return(resultJson); } JObject jobj = resultJson.ToJObject(); return(jobj["respdesc"].ToString()); }
/// <summary> /// 需首先执行save_list_body接口,将推送消息保存在服务器上,后面可以重复调用tolist接口将保存的消息发送给不同的目标用户。 /// </summary> public bool SavaListBody(string title, string content, ref string taskId) { string url = string.Format("https://restapi.getui.com/v1/{0}/save_list_body", this.appId); //JObject postJson = this.SetPostNotificationTemp(title, content); JObject postJson = this.SetPostTransmissionTemp(title, content); string res = PostWebRequest(url, postJson.ToJson(), GetAuthToken()); if (BoolHelper.IsJson(res) && (JObject.Parse(res)["result"].ToString() == "ok")) { taskId = JObject.Parse(res)["taskid"].ToString(); return(true); } else { return(false); } }